我们正在构建一个ASP.NET MVC应用程序,该应用程序将部署在硬件负载平衡器之后,其中除了其他内容之外还支持缓存。
我们的建议是手动定义哪些URL模式应由负载均衡器缓存。对于我们来说这将是一个相当简单的过程,因为我们的“目录”页面是相对静态的,然后是“订购”页面。
必须避免在缓存页面上使用会话状态,因为整个响应由负载平衡器缓存 – 这包括发送的任何Cookie。
理想情况下,会有一个可以应用于控制器或动作方法的属性,允许选择性地使用会话状态,但似乎不是一个。我意识到这样一种方法会导致丢失的会话,如果使用离开“会话区” – 没关系。
除了重新实现整个ASP.NET MVC HTTP控制器…任何建议?
提前致谢。
解决方法
这是包含在MVC 2期货。有关更多信息,请参阅
http://blogs.msdn.com/rickandy/archive/2009/12/17/session-less-mvc-controller.aspx。