Asp.net mvc iis7网站ASP.NET MVC4配置会话已过期
我有一个带有ASP.NETMVC4和razor的网站。 我不希望用户会话过期,我在webconfig中配置,我为一天后过期的会话设置会话。 在我的web配置中,我有以下内容:Asp.net mvc iis7网站ASP.NET MVC4配置会话已过期,asp.net-mvc,asp.net-mvc-4,session,iis,iis-7,Asp.net Mvc,Asp.net Mvc 4,Session,Iis,Iis 7,我有一个带有ASP.NETMVC4和razor的网站。 我不希望用户会话过期,我在webconfig中配置,我为一天后过期的会话设置会话。 在我的web配置中,我有以下内容: <authentication mode="Forms"> <forms loginUrl="~/raLogin/Login" timeout="1440"/> </authentication> .... .... <
<authentication mode="Forms">
<forms loginUrl="~/raLogin/Login" timeout="1440"/>
</authentication>
....
....
<sessionState mode="InProc" cookieless="false" timeout="1440" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</sessionState>
但是会议在20分钟后就结束了!!
然后我配置IIS7 windows server 2008
我安装了MS FW 4.0并执行aspnet_regiis.exe-ir
在ASP.NET v4 Classic的应用程序池中,我设置了此值,请参见图:
但会议在20分钟后结束
iss 7 I中的网站设置了以下值:
如何设置我的网站,使会话在一天后过期?您可以使用SQLServer支持的持久化进程外状态机制。正如Erik所指出的,您可能希望查看您试图持久化的数据,因为会话变量可能不是最佳位置 状态机制说明和配置说明: InProc、StateServer和SQLServer性能回顾: 如果您真的想变得花哨,您可以使用大男孩使用的分布式内存缓存,如AppFabric:
这是个坏主意。您在会话中放置的任何内容都将保留在内存中,直到会话过期或应用程序池被回收。因此,这可能是内存泄漏的来源,因为对象不会被垃圾收集。此外,您不能依赖于此,因为IIS随时都可以回收应用程序池,您无法阻止它,因此您应该编写应用程序,使其不依赖于会话可用,即使您刚刚登录。。因为它随时都可能消失。如果需要,您需要能够在会话中重新创建任何内容。