会话不会过期

时间:2016-07-05 06:04:47

标签: c# asp.net session


我尝试创建一个会在2分钟后过期的登录会话。原因是:我应该在我们的内部网中创建一个页面,可以在我们的生产大厅的公共PC上访问,如果用户没有注销,其他人都可以看到整个页面并与之交互。这就是为什么我要保持这个时间跨度的结束。

问题是无论我做什么,会议持续几个小时。我使用带有标准选项的Visual Studio进行测试(我搜索但我仍然不知道如何配置IIS超时)

Sofar我已经尝试过Web.config

<sessionState mode="InProc" timeout="2"/>

in some C# files

Session["UserName"] = "test"; 
Session.Timeout = 1;
甚至像

这样的东西
private DateTime start;
private DateTime end;
void Session_Start(object sender, EventArgs e)
{
    Session["UserName"] = "test"; 
    Session.Timeout = 1;
    start = DateTime.Now;
}
void Session_End(object sender, EventArgs e)
{
    end = DateTime.Now;
    var seconds = (end - start).TotalSeconds;
    System.Diagnostics.Debug.WriteLine("session end " + seconds);
    System.Diagnostics.Debug.WriteLine((string)Session["UserName"]);
}
global.asax中的

不起作用。实际上甚至在Session_End之后它仍然存在且可以访问。每个测试中seconds输出都不同。有时它会像1-10s一样有时它会在下班后触发。由于我每天只在公司工作6小时,当我在早上调试项目时,我不知道会话何时最终失败,所以会议在6小时后仍然存在。

是有一种方法来检查会话的剩余生命周期(我在这里搜索了几个小时,但没有代码工作)或者我错过了什么?我完全没用,因为我从未遇到PHP会话问题,这是我第一次使用ASP的体验

非常感谢

更新
问题解决了,我不知道我的ajax请求每次重置计时器。

0 个答案:

没有答案
相关问题