【问题标题】:Session timeout and AJAX in ASP.NETASP.NET 中的会话超时和 AJAX
【发布时间】:2011-03-19 05:33:59
【问题描述】:

我有一个使用 AJAX 执行脚本的按钮。 通常,当会话仍处于活动状态时,脚本将返回一些将放置在父页面内的数据。 如果会话过期,AJAX 将返回登录屏幕,该屏幕被放置在看起来很奇怪的父页面内。

如何检测会话超时并在父页面上进行回发?

【问题讨论】:

    标签: asp.net ajax session


    【解决方案1】:

    当您拨打电话时,首先检查您的会话参数之一是否为 Nothing/null。如果它为空,则您的会话可能已超时。如果您没有显式设置任何会话变量,则可以在用户登录时设置一个。

    【讨论】:

      【解决方案2】:

      “如果会话过期,AJAX 将返回登录屏幕”是什么意思?您可以控制返回的内容,因此与其返回登录屏幕,不如返回某种错误代码,或者更好地抛出异常,您可以在客户端将其作为错误捕获。

      【讨论】:

      • 我正在使用表单身份验证。当页面尝试加载但会话已过期时,页面会被 asp.net 重定向到登录屏幕。
      【解决方案3】:

      由于您不太可能调用完整页面,并且您的登录页面很可能是完整页面,因此您可以执行以下操作。

      if (xmlhttp.responseText.indexOf("DOCTYPE") != -1) {
          window.location.href = window.location.href;
      }
      

      【讨论】:

        猜你喜欢
        • 2010-12-05
        • 1970-01-01
        • 2010-10-13
        • 2011-04-12
        • 2011-11-02
        • 1970-01-01
        相关资源
        最近更新 更多