【问题标题】:asp.net session timeout on lost connection丢失连接时的 asp.net 会话超时
【发布时间】:2012-06-28 09:32:44
【问题描述】:

我有一个不需要(无限期)超时的 Intranet 页面,我正在使用 JS 来保持它的活力。

但是当用户失去连接(由于进出 wifi 范围而经常发生)时,我遇到了一个问题,然后会话超时。

如果发生这种情况,我如何保持会话正常运行/刷新它?

【问题讨论】:

    标签: c# asp.net timeout


    【解决方案1】:

    如何在 web.config 上增加会话超时?

    <configuration>
      <system.web>
         <sessionState timeout="120"></sessionState>
      </system.web>
    </configuration>
    

    http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.timeout.aspx

    其他可能的方法是使您的数据库与用户cookie连接,并使用与您的用户完全连接的“自定义会话”数据。

    【讨论】:

    • 我已经将它设置为更高的数字但不起作用,一旦 wifi 掉线它就会超时。页面超时如何显示消息,让用户知道?
    • @sd_dracula 您可以通过 ajax 调用来做到这一点,如果 ajax 无法重播触发失败功能,并且您已经失去连接并且您可以显示一条消息。我的意思是您可以使用 ajax 不时拨打电话...如果失败,您会显示一条消息。
    • 好的,那该怎么做呢?
    • @sd_dracula 如果您使用 jQuery:api.jquery.com/jQuery.ajax 如果不进行一般的 javascript ajax 调用(例如:w3schools.com/ajax/ajax_xmlhttprequest_send.asp)只需搜索 ajax,您就会发现很多示例!
    【解决方案2】:

    如果您使用表单身份验证,请尝试在 Web 配置中使用

    <system.web>
        <authentication mode="Forms">
              <forms timeout="120"/>
        </authentication>
    
        <sessionState timeout="120"  />
    </system.web>
    

    【讨论】:

      【解决方案3】:

      first 设置服务器上的会话超时是针对所有会话的 而不是单个会话

      out wifi range 就是整个网络都断了 所以不要活了

      你必须使用 cookie 使用cookie保活

      【讨论】:

        猜你喜欢
        • 2021-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多