我已经从这里和外面读过一些其他线程,但没有任何效果......我有一些Sessions
喜欢(登录,列的值......)。我想设定Sessions
到期的时间......我试过了:
Session.TimeOut = "60";
并使用web.cfg
<configuration>
<system.web>
<sessionState timeout="60"></sessionState>
</system.web>
</configuration>
我在每个page_load上测试Session
,如:
if(Session["login"] == null)
{
Response.Redirect("/Login.aspx");
}
但似乎Session
在导航过程中丢失了,因为过了一段时间(1分钟,5分钟,2分钟......)它返回login page
。这可能有什么问题?
我还阅读了一些关于Membership Authentication
的文章,但我无法得到它= \
感谢
答案 0 :(得分:0)
您应该检查是否不重定向到其他(子)域。在每个域上,用户将获得一个单独的会话。例如:
http://ww.mydomain.com
http://wwww.mydomain.com
举行会议。
答案 1 :(得分:0)
一旦应用程序池回收,您也将丢失会话。如果您发现任何有用的内容可以帮助您解决问题,请查看此链接http://blogs.msdn.com/b/johan/archive/2007/05/16/common-reasons-why-your-application-pool-may-unexpectedly-recycle.aspx。
我曾遇到过类似的问题,会话超时在web.config中设置为60分钟,但会话在20分钟后仍然丢失。原来是IIS设置中的错误设置导致应用程序池回收,因此会话已经消失。