【问题标题】:What is the best way to determine "user logout" on IIS server in C#/Asp.Net?在 C#/Asp.Net 中确定 IIS 服务器上的“用户注销”的最佳方法是什么?
【发布时间】:2010-01-13 07:04:35
【问题描述】:

在 C#/Asp.Net 中确定 IIS 服务器上的“用户注销”的最佳方法是什么?

我有一个应用程序,登录用户可以在其中启动服务器上长时间运行的活动。当用户注销时,这些活动需要终止。

当用户点击注销时这不是问题,但是我如何确定用户已经注销,例如在用户的浏览器崩溃、用户失去连接等情况下。

【问题讨论】:

    标签: c# asp.net iis session


    【解决方案1】:

    缩短应用程序会话超时时间并对 Web 应用程序实施某种轮询(例如 AJAX 请求)。

    轮询负责维护会话,如果浏览器在没有适当注销的情况下关闭或崩溃,它就会停止并且会话很快就会超时。

    【讨论】:

      【解决方案2】:

      这是不可能的。浏览器在不同的电脑上运行,崩溃时不会通知服务器!

      【讨论】:

      • 没有。我不打算确定浏览器崩溃,而是想弄清楚如何终止用户在服务器上启动的长时间运行的活动。
      • @Varma:你说,“但是我如何确定用户已经注销,例如在用户浏览器崩溃的情况下”。如果这不是您的意思,请适当编辑您的问题。
      【解决方案3】:

      HSBC 这样的一些在线银行通过简单地在 1 分钟后出现一个弹出窗口来实现类似的操作,其中没有用户响应(例如单击确定按钮)会关闭窗口并将其注销。

      我更喜欢的技术是 JavaScript 计时器,它重定向到注销然后登录页面,首先向服务器触发 AJAX 调用,以终止该用户的长期运行进程。在我看来,依赖 Session End 会给用户带来一些烦人的体验。

      【讨论】:

        猜你喜欢
        • 2011-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-18
        • 2013-12-11
        • 1970-01-01
        • 2010-09-09
        相关资源
        最近更新 更多