如何在 vb.net 中记录确切的会话输出日期时间

本文关键字:会话 输出 时间 日期 记录 vb net | 更新日期: 2023-09-27 17:56:54

要在用户下次登录时显示用户会话的持续时间,请在立即登录后将会话开始时间保存到数据库中。此处将SessionId设置为插入条目的会话变量。会话中的此SessionId在注销/会话退出时应处于活动状态。点击注销按钮后,我可以针对会话变量更新相同的会话条目。但是,如果会话根据超时自动超时web.config该怎么办。

我尝试在Session_End事件中更新Global.asax中的相同条目。但从未触发过会话。(不知道为什么)。但是有没有办法在 .NET 中计算用户会话时间跨度?

如何在 vb.net 中记录确切的会话输出日期时间

最后,

在每次母版页加载时,我都添加了以下脚本,该脚本调用 Service 方法来更新会话信息。

  <script language="javascript" type="text/javascript">
           var sessionTimeout = '<%= Session.TimeOut %>'; //Web.config timeout
           var sessionTimeoutWarning = parseInt(sessionTimeout) - 1; //Trigger time before 1 min of expire
           var sTimeout = parseInt(sessionTimeoutWarning) * 60 * 1000;
           var sessionId = '<%= session("SessionId") %>'; //This is kept in session when user logged in and entry created in database.
           setTimeout(function() {
               if (sessionId > 0) {
                   ClientService.UpdateClientSessionInformation(sessionId); //This is the client service method to update against session Id. Rest of time out and time span is manged in Stored procedure.
                                  }
           }, sTimeout);       
   </script>