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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 使ASP.NET MVC应用程序Web Farm准备就绪前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使ASP.NET MVC应用程序网络农场准备好最有效的方法是什么。

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

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

解决方法

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

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

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

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

猜你在找的asp.Net相关文章