我在本主题中检查了SO中提出的各种问题,并尝试了为各种问题提供的解决方案,但它对我没有用。我的应用程序是ASP .Net4.5,我在会话中存储用户名,usertype,后来在将数据插入SQL表时使用。我已在webconfig中设置会话时间,如下所示。
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name=".mycookie" timeout="60"></forms>
</authentication>
<sessionState mode="InProc" cookieless="false" timeout="60" />
在针对Sessionstate的IIS设置中,设置了以下内容
SessionState = In Process
Cookie settings -> Mode = Use Cookies
Name = ASP.Net_SessionId
Timeout (min) = 60
我不确定我是否在上述设置中以错误的方式设置了它。问题是我的应用程序会话超时在设定的时间之前,我觉得它会在10-15分钟内超时。请告知如何正确设置超时值。
可能是您在表单身份验证超时和会话超时方面遇到问题。请参阅here。
在Web配置文件中尝试此操作。
<system.web>
<authentication mode="Forms">
<forms timeout="50"/>
</authentication>
<sessionState timeout="60" />
</system.web>
我尝试设置会话超时,但它对我没有用。我决定存储cookie中使用的会话变量,并从cookie中读取。现在没有会话超时问题。我在登录应用程序时清除cookie,也将到期时间设置为1天以避免任何问题。谢谢你的帮助。