【发布时间】:2011-02-11 16:39:14
【问题描述】:
我正在管理一个相当大的项目,用 asp.net webforms + mvc3 编写,拥有庞大的用户群和相当高的每日访问量。基本上,任何时候都有很多请求。
我在 MVC 中动态处理/调整图像大小的控制器之一应用了以下属性:
[SessionState(SessionStateBehavior.Disabled)]
现在,如果控制器中的操作尝试访问会话 - 它显然会引发异常 - 所以到目前为止我们很好。
问题是:如果我进入 IIS 工作进程窗口(Win Server 2008 R2,IIS 7.5)并检查该站点的当前请求,我有时可以看到对该控制器中某个操作的请求。他们当前的状态被锁定在State: RequestAcquireState, Module Name: Session。有时这些锁在这种状态下会持续一两秒。
首先属性的全部意义不是让对控制器的请求忽略状态,而不是浪费时间(并且可能被锁定)尝试获取状态吗?
如果是这样 - 我是不是在这里做错了什么,还是问题出在其他地方?
【问题讨论】:
-
嗨,Levi,你能把这个作为答案,以便我可以这样标记吗? :)
标签: asp.net session asp.net-mvc-3