我们正在构建一个ASP.NET MVC应用程序,该应用程序将部署在硬件负载平衡器后面,该负载平衡器支持缓存等.
我们的建议是手动定义负载均衡器应缓存哪些URL模式.这对我们来说是一个非常简单的过程,因为我们的"目录"页面是相对静态的,然后是"订单"页面,而不是.
必须避免在缓存页面上使用会话状态,因为负载均衡器会缓存整个响应 - 这包括发送的任何cookie.
理想情况下,会有一个属性可以应用于控制器或动作方法,允许选择性地使用会话状态,但似乎没有.我意识到,如果使用离开"会话区域",这样的方法会导致会话丢失 - 这很好.
除了重新实现整个ASP.NET MVC HTTP控制器...任何建议?
提前致谢.
现在这已从Futures转移到MVC3.有一个ControllerSessionState
属性(显然将以SessionState
MVC3的最终版本命名),可以应用于控制器,如下所示:
[SessionState(SessionStateBehavior.Disabled)] public class MyController : Controller { ...
(但在RC版本中,你必须使用 ControllerSessionState