Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net c#中确定用户注销?_C#_Asp.net_Usersession - Fatal编程技术网

如何在asp.net c#中确定用户注销?

如何在asp.net c#中确定用户注销?,c#,asp.net,usersession,C#,Asp.net,Usersession,我必须在数据库中维护用户登录和注销时间。如果我在global.asax中使用Application\u End()进行登录,那么登录很容易,但注销也很容易。这给了我一个例外 asax文件中的我的代码: Application_End() { HttpCurrent.Context.Session.Abandon(); LogUserLogoutTimeToDatabase(); } 你是最好的,第一个赌注是应用程序中的注销按钮。 之后,您可以使用会话超时事件和非常短的会话时间 应用程序

我必须在数据库中维护用户登录和注销时间。如果我在
global.asax
中使用
Application\u End()
进行登录,那么登录很容易,但注销也很容易。这给了我一个例外

asax文件中的我的代码:

Application_End()
{
  HttpCurrent.Context.Session.Abandon();
  LogUserLogoutTimeToDatabase();
}

你是最好的,第一个赌注是应用程序中的注销按钮。 之后,您可以使用会话超时事件和非常短的会话时间


应用程序\u End在应用程序关闭时触发,但不是在服务器崩溃期间触发。

您需要使用会话\u End()。用户可以简单地关闭浏览器,对他们来说,他们现在已经“注销”——但是没有任何东西会提醒服务器他们已经注销,除非他们在关闭浏览器之前单击“注销”按钮。因此,一旦他们的会话超时,将触发会话结束()事件,您可以在其中捕获您的注销。

实现这一点的最佳方法是,使用
onClick
注销事件按钮


当用户单击注销按钮时,将该时间存储在
数据库中

它会给您带来什么异常?这可能是问题所在的指示器。注销是否有与之相关的特定操作?应用程序端可能意味着所有用户都会丢失会话,我猜这不是注销的唯一方式。类似会话的内容对此无效context@ryadavilli我想要个人用户的注销日志。这就是为什么我说应用程序端不是一个合适的地方。检查下面的答案,人们对使用注销按钮和处理会话结束事件给出了很好的解释。