如何在 vb.net 中记录确切的会话输出日期时间
本文关键字:会话 输出 时间 日期 记录 vb net | 更新日期: 2023-09-27 17:56:54
要在用户下次登录时显示用户会话的持续时间,请在立即登录后将会话开始时间保存到数据库中。此处将SessionId
设置为插入条目的会话变量。会话中的此SessionId
在注销/会话退出时应处于活动状态。点击注销按钮后,我可以针对会话变量更新相同的会话条目。但是,如果会话根据超时自动超时web.config
该怎么办。
我尝试在Session_End
事件中更新Global.asax
中的相同条目。但从未触发过会话。(不知道为什么)。但是有没有办法在 .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>