我有一个网站,我使用 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"
In 这个链接 http://msdn.microsoft.com/en-us/library/h6bb9cz9%28v=vs.100%29.aspx,它说Custom provider is used when mode is set to Custom
。第一个问题是,如果是这种情况,为什么 Visual Studio 将会话状态的模式属性生成为 InProc,并同时设置自定义提供程序?第二个问题是会话状态超时。当我向会话状态添加超时值时,时间到时它不会超时。
sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="30"
当我删除 CustomProvider 属性时,超时开始起作用。有人对这种情况有更多的了解吗?
我意识到有关超时的问题与 CustomProvider 属性无关。问题在于表单超时和会话状态超时设置为不同的值。一旦我将它们设置为相同的值,它就开始工作。
但 Visual Studio 使用 mode = InProc 和 customProvider = DefaultSessionProvider 创建 sessionState 元素的事实仍然很奇怪,因为 Microsoft 网站表示仅在模式设置为 Custom 时使用 customProvider。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)