【发布时间】:2012-08-26 06:30:42
【问题描述】:
我从默认的 ASP.net MVC 3 应用程序开始,在 web.config 文件中得到以下内容:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<machineKey/>
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider"
type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="DefaultConnection"
applicationName="/"/>
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider"
type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="DefaultConnection"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="/"
/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="DefaultRoleProvider">
<providers>
<add connectionStringName="DefaultConnection"
applicationName="/"
name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</providers>
</roleManager>
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider"
type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="DefaultConnection"
applicationName="/"/>
</providers>
</sessionState>
在本地测试 - 一切正常 - 我去吃午饭,回来,对我的一个控制器(需要身份验证)进行 ajax 调用,它可以工作。
我在托管网络服务器上部署 - 我去吃午饭,回来,对控制器进行 ajax 调用 -> 结果我不再登录 - :(.
嗯... 现在从我可以弄清楚服务器的应用程序池被回收,所以我的会话数据被删除了。
我一直在试图弄清楚我必须在配置和代码方面进行哪些更改,以避免这种情况,但我无法在任何地方找到此信息,或者我可能没有询问正确的问题。
我如何确保在应用程序池回收时保持用户的会话(他保持登录状态)?
【问题讨论】:
标签: asp.net session web-config webserver session-state