代码之家  ›  专栏  ›  技术社区  ›  jamiecon

按控制器/操作方法启用/禁用会话状态

  •  18
  • jamiecon  · 技术社区  · 15 年前

    我们正在构建一个asp.net mvc应用程序,该应用程序将部署在一个硬件负载平衡器后面,该硬件负载平衡器支持缓存等功能。

    我们的建议是手动定义负载平衡器应该缓存哪些url模式。这将是一个很容易的过程,因为我们有'目录'页是相对静态,然后'订购'页不是。

    必须避免在缓存页上使用会话状态,因为负载平衡器缓存了整个响应-这包括发送的任何cookie。

    理想情况下,有一个属性可以应用于控制器或允许选择性使用会话状态的操作方法,但似乎没有。我意识到,这样的方法会导致会话丢失,如果使用离开“会话区”-那很好。

    除了重新实现整个asp.net mvc http控制器…有什么建议吗?

    提前谢谢。

    2 回复  |  直到 9 年前
        1
  •  4
  •   Levi    15 年前
        2
  •  51
  •   Richard    9 年前

    它现在从futures移到mvc3。有一个 ControllerSessionState 属性(显然将命名为 SessionState 对于可以应用于控制器的MVC3的最终版本,如下所示:

    [SessionState(SessionStateBehavior.Disabled)]
    public class MyController : Controller
    {
     ...
    

    (但是在rc版本中,必须使用 控制器状态