加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – MVC 3中的SessionState属性是否正常工作?

发布时间:2020-12-16 04:17:15 所属栏目:asp.Net 来源:网络整理
导读:我正在管理一个相当大的项目,用asp.net webforms mvc3编写,拥有庞大的用户群,并且每日访问量非常高.基本上,在任何特定时刻都有很多要求. 我在MVC中的一个控制器可以动态处理/调整图像大小,它具有以下属性: [SessionState(SessionStateBehavior.Disabled)]
我正在管理一个相当大的项目,用asp.net webforms mvc3编写,拥有庞大的用户群,并且每日访问量非常高.基本上,在任何特定时刻都有很多要求.

我在MVC中的一个控制器可以动态处理/调整图像大小,它具有以下属性:

[SessionState(SessionStateBehavior.Disabled)]

现在,如果控制器中的某个操作尝试访问会话 – 它显然会引发异常 – 所以到目前为止我们还不错.

问题是:如果我进入IIS工作进程窗口(Win Server 2008 R2,IIS 7.5),并检查此站点的当前请求,我有时可以看到对此控制器中的操作的请求.它们的当前状态锁定在State:RequestAcquireState,Module Name:Session.有时这些锁会在这种状态下持续一两秒钟.

首先,属性的全部要点是否使得对控制器的请求忽略状态,而不是浪费时间(并且可能被锁定)试图获取状态?

如果是这样的话 – 我在这里做错了什么,或问题出在其他地方?

解决方法

[从评论中迁移]

如果您正在使用自定义控制器工厂或路由处理程序,请确保他们知道控制器的会话状态行为.将控制器标记为不需要会话状态需要来自这两个组件的协作.开箱即用,DefaultControllerFactory和MvcRouteHandler旨在使用它.有关更多信息,请参阅DefaultControllerFactory.GetControllerSessionBehavior和MvcRouteHandler.GetHttpHandler.如果您正在编写自定义组件,则可以使用这些方法作为灵感.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读