您正在使用带有jQuery的ASP.NET MVC。你做了很多AJAX调用。您想要通知用户他们是否点击某些内容并且会话已超时。有没有人有一个很好的现有解决方案,还包括在启动AJAX请求后通知用户超时?
(非AJAX ASP.NET应用程序的已知解决方案涉及检测Global.asax中的超时并重定向到特定页面。但是,重定向AJAX请求是有问题的,因为用户要么不会看到它,或者会在错误的背景下看到它。)
这几乎是每个应用程序都需要的,所以我只想确保不重新发明轮子。谢谢!
答案 0 :(得分:3)
以下是我的操作:当我的服务器检测到会话超时时,它会响应重新认证页面,并在响应中设置一个特殊的标头。对于Ajax,我只是让我的处理程序查找该标头,如果它看到它会强制周围的页面(即location.href
或其他)重新加载(使用额外的“nonce”参数以确保它绕过浏览器缓存)。
请注意,我的解决方案并非特别是ASP.NET。