当前位置:  开发笔记 > 后端 > 正文

使ASP.NET MVC应用程序Web Farm Ready

如何解决《使ASP.NETMVC应用程序WebFarmReady》经验,为你挑选了1个好方法。

什么是使ASP.NET MVC应用程序Web场准备就绪的最有效方法.

最重要的是共享当前用户的信息(上下文)和(不那么重要)缓存的对象,例如查找项(状态,街道类型,县等).

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



1> Robert Korit..:

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

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

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

但是这些解决方案都带来了一些额外的开销(如网络和第三个进程处理和数据获取等),如果没有别的话.因此默认缓存是最快的,如果您明确需要共享缓存,则决定一个.除非确实需要,否则不要共享缓存.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有