Gre*_*eri 3 asp.net session timeout forms-authentication
我想构建一种方法,在会话因不活动而到期时自动将用户重定向到Timeout.aspx.我的应用程序使用表单身份验证,并且在相同的aspx页面中严重依赖于用户交互的更新面板,因此我不想在页面级计时器到期后简单地重定向.出于同样的原因,我不能使用'<meta http-equiv ="refresh"/>'
我想要做的是使用一个名为IsSessionTimedOut()的方法创建一个简单的ajax Web服务,它只返回一个布尔值.我将使用javascript计时器定期调用该方法,如果它返回true,则重定向到Timeout.aspx.但是,我不希望调用此方法来重置会话超时计时器,或者由于服务调用会话永远不会超时.是否有一种干净的方法来避免这种捕获-22?希望有一个简单的解决方案,迄今为止我没有找到.
问题的关键在于,在AJAX应用程序中,为了提供强大的用户体验,您必须使用大量代码检查每个调用的状态并确定是否由于过时的会话/票证导致的故障而使客户端脚本混乱.通过主动方法,您的客户端脚本可以大大简化,同时提供更好的用户体验.
我特意为这个问题建立了一个解决方案.
它允许交互式会话和表单票证生命周期审计,而不会碰到会话或票证.
多个浏览器/标签都没问题.
忘掉防晒霜; 记住:在做Ajax时,要积极主动 - 你应该放弃一个会话,一个会话不应该放弃你;-)
AsynchronousSessionAuditor 1.0