我正在使用VS 2012,IIS 7.5和ASP.NET MVC4开发Internet应用程序。我正在使用表单身份验证。我的Web配置中的设置如下。
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="30" name="userInfo" slidingExpiration="true" enableCrossAppRedirects="false" protection="All" >
<credentials passwordFormat="Clear"/>
</forms>
</authentication>
但是IIS中的“空闲超时(分钟)”设置为20。20分钟后刷新应用程序时,我收到一条错误消息,说我的会话对象之一为空。但是,如果我在30分钟后刷新我的应用程序,则可以正常工作,它可以将我重定向到登录页面。输入凭据后,我可以正确导航到相应的页面。
我不明白为什么20分钟后出现错误!(据我所知,这是IIS的空闲时间设置)。请帮忙。
谢谢
表单身份验证不处理会话超时。您想改为调整会话状态超时。MSDN上有一篇关于web.config的sessionState元素的文章,以获取更多详细信息。
如果您要使用会话状态,我将继续阅读不同的提供程序。如果您希望将应用程序扩展到单个Web服务器之外,则将使用与InProc会话提供程序不同的会话提供程序。使用进程外会话提供程序要求对象是可序列化的,这以后可能会成为重大更改。立即进行更改,以免日后头痛。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句