【问题标题】:Logging DateTime in SQL Table When Users Session Ends用户会话结束时在 SQL 表中记录 DateTime
【发布时间】:2015-06-17 17:18:55
【问题描述】:

我编写了一个应用程序,用户必须使用这个应用程序登录。我有一张表格,我在其中保存了他们的登录令牌、他们登录的日期时间、他们注销的日期时间以及他们登录的持续时间。

当用户实际点击Logout 时,此功能非常有用。如果用户没有点击Logout,那么它不会占用注销的日期时间,也不会给我持续时间。

有些用户只是简单地退出而没有点击注销,有没有办法在会话结束时触发一个事件来捕获注销信息?

现在我只有一个插入语句连接到我的登录按钮,更新语句连接到我的注销按钮。

【问题讨论】:

    标签: c# sql session datetime


    【解决方案1】:

    在 Global.asax.cs 中是一个事件处理程序

        protected void Session_End(object sender, EventArgs e)
        {
    
        }
    

    应该在会话结束时触发。

    【讨论】:

    • 在哪里可以找到这门课?
    • 在您网站的 Global.asax.cs 文件中。如果您没有 - 在解决方案资源管理器中转到您的网站,右键单击它,选择添加,选择新项目...并添加一个。
    • 应该注意 Session_End 确实 not 在用户简单地关闭浏览器时自动触发 - OP 的功能希望实现。这不是(一个完整的)解决方案。
    • 要捕捉到你必须使用浏览器的 OnBeforeUnload 事件(客户端脚本)。也许使用它来向服务发送 Ajax 请求以执行更新。
    • OnBeforeUnload 的问题是它在您离开页面时触发,不一定是在会话结束时触发
    猜你喜欢
    • 2014-10-30
    • 2012-12-22
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    相关资源
    最近更新 更多