asp.net-mvc - 启用/禁用每个 Controller /操作方法的 session 状态

标签 asp.net-mvc caching session-state zeus

我们正在构建一个 ASP.NET MVC 应用程序,该应用程序将部署在支持缓存等的硬件负载平衡器后面。

我们的建议是手动定义负载均衡器应该缓存哪些 URL 模式。这对我们来说将是一个相当简单的过程,因为我们有相对静态的“目录”页面,然后是非静态的“订购”页面。

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

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

除了重新实现整个 ASP.NET MVC HTTP Controller 之外……有什么建议吗?

提前致谢。

最佳答案

这现在从 Futures 转移到 MVC3 中。有一个ControllerSessionState属性(显然将被命名为 SessionState 用于 MVC3 的最终版本),可以应用于 Controller ,如下所示:

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

(但在 RC 版本中,您必须使用 ControllerSessionState

关于asp.net-mvc - 启用/禁用每个 Controller /操作方法的 session 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2250940/

相关文章:

c# - 如何将 ViewBag 中的一些对象传递给 Action? - 保留搜索、排序和分页选项

android - 使用Azure开发网站,然后为其创建原生iOS和Android应用程序,什么是好的数据架构?

asp.net-mvc - 断言 MVC Controller 操作的返回类型

java - 在 imageLoader 的子类上调用方法

asp.net - ASP.Net Cookieless 如何工作?

java - 奇怪的 session 行为..!!在运行时更改用户对象属性

asp.net - 我的通用 ActionLink 去哪儿了?

针对 Pagespeed 优化的 Apache Vhost 指令

django - Nginx,Varnish和Django的多个域都返回相同的缓存页面

mysql - 带有数据库存储选项的 Codeigniter session 类未优化?