加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 使ASP.NET MVC应用程序Web Farm准备就绪

发布时间:2020-12-16 00:33:26 所属栏目:asp.Net 来源:网络整理
导读:使ASP.NET MVC应用程序网络农场准备好最有效的方法是什么。 最重要的是共享当前用户的信息(Context)和(不那么重要)缓存的对象,如查找项(州,街道类型,县等)。 我听说过/读MemCache,但没有看到一个简单的适用的方式(文档)如何实现和测试它。 解决方法 请求
使ASP.NET MVC应用程序网络农场准备好最有效的方法是什么。

最重要的是共享当前用户的信息(Context)和(不那么重要)缓存的对象,如查找项(州,街道类型,县等)。

我听说过/读MemCache,但没有看到一个简单的适用的方式(文档)如何实现和测试它。

解决方法

请求上下文
任何访问Web场的请求都将由可用的IIS服务器提供。上下文在那里创建,整个请求由同一个服务器提供。所以上下文不应该是一个问题。请求是无状态执行管道,因此不需要以任何形式或形式与其他服务器共享数据。它将从同一台机器开始到结束。
用户信息从cookie读取并由服务于请求的服务器进行处理。这取决于您是否在某处缓存完整的用户对象。

会议
如果您使用TempData字典,您应该知道它存储在会话字典中。在服务器场中,这意味着您应该使用InProc会话之外的其他方法,因为它们不在整个场中的IIS服务器之间共享。您应该配置使用数据库或其他会话管理器(状态服务器等)。

高速缓存
当谈到缓存这是一个不同的故事。为了使其尽可能高效地缓存也应该被提供。默认情况下不是。但是看高速缓存,这几乎意味着当没有缓存时,应该读取并存储在缓存中。因此,如果一个特定的服务器场服务器没有一些缓存对象,它将创建它。所有这些都会缓存一些共享的公开使用的数据。
或者…你可以使用像memcached这样的库(如你所说的),并利用共享缓存。网上有几个例子如何使用它。

但是,如果没有其他的东西,这些解决方案会带来额外的开销(如网络和第三进程处理和数据提取等)。所以默认缓存是最快的,如果你明确地需要共享缓存,那么决定一个。除非真的有必要,否则不要共享缓存。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读