微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – sessionState超时不适用于DefaultSessionProvider

我有一个网站,我使用ASP.NET成员资格来管理用户创建,登录,角色管理.我使用的是Visual Studio 2012.在web.config中有很多由Visual Studio创建的元素.与会话状态相关的元素之一如下.

sessionState mode="InProc" customProvider="DefaultSessionProvider"

name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider,System.Web.Providers,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"

this link中,它表示当模式设置为自定义时使用自定义提供程序.第一个问题是,如果是这样的话,为什么Visual Studio会将会话状态的模式属性生成为InProc并同时设置自定义提供程序?第二个问题是会话状态超时.当我向会话状态添加超时值时,它在时间结束时不会超时.

sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="30"

删除CustomProvider属性时超时开始工作.有没有人对这种情况有更多的内心?

解决方法

我意识到关于超时的问题与CustomProvider属性无关.问题是表单超时和会话状态超时被设置为不同的值.一旦我将它们设置为相同的值,它就开始工作了.

但仍然是Visual Studio使用mode = InProc和customProvider = DefaultSessionProvider创建sessionState元素的事实很奇怪,因为Microsoft网站说使用customProvider的唯一时间是当mode设置为Custom时.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐