我有这段代码:
var thisUser = Session["user"];
if (thisUser == null)
{
LogFile.Log("Logging out");
Response.Write("xp");
}
我试图找出为什么有时当我使用系统几分钟时突然user
会话变量变为空。
它在不同的场景中随机发生。
我不会在任何时候将Session["user"]
设置为null。
会话超时设置为20分钟。
我不会在任何时候致电Session.Clear()
。
任何想法\想法\我应该看看它为什么会发生?
如果有任何帮助,我正在使用Firefox。
系统是使用asp.net构建的。
欲了解更多信息,请询问。
答案 0 :(得分:0)
首先,这看起来像C#和ASP.NET,而不是传统的ASP。现在,如果您从未自行清除会话并且服务器(或应用程序池)从未重新启动,那么丢失会话的唯一方法就是清除浏览器的cookie。
答案 1 :(得分:0)
编辑web.config将回收应用程序池,清除会话信息。
答案 2 :(得分:0)
http://localhost/path/to/resource
和http://localhost:80/path/to/resource
都指向相同的资源,但请求不同,会话cookie将不同或不存在。
测试此功能的一种简单方法是启动浏览器的开发人员工具栏并监控网络流量。比较URL以确保它们是相同的基本路径,并在请求中传递相同的会话cookie。