在asp.net中手动检查用户是否登录的有效方法

时间:2013-03-25 14:16:33

标签: c# asp.net global-asax

我正在开发一个没有实现asp.net成员资格的asp.net 3.5应用程序。如果用户登录到应用程序,我在users表中维护一个标志,如果用户登录将设置为true,如果用户手动注销或用户空闲超过5分钟,则设置为false 。如果此标志的值为true,则其他用户无法使用相同的用户名登录应用程序。

我正在使用Global.asax文件的Session_End事件,当用户空闲超过5分钟时,将标志值设置为false,但问题是有时标志值未更新为false,如果用户空闲超过5分钟,表明Session_End不是很可靠。

对于上述情况,有人建议我替代Session_End

2 个答案:

答案 0 :(得分:1)

使用时间跨度机制。刷新服务器上每个用户操作的时间跨度。当时间跨度超过5分钟时,你就会知道他已经离开了。

答案 1 :(得分:0)

我建议使用会话超时来强制结束会话。更多信息可以在这里找到 - http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.timeout%28v=vs.110%29.aspx

您是否设置了超时值?

相关问题