作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
场景如下:
用户想知道为什么在长时间运行的请求期间 session 已过期。
如何告诉 ASP.NET 在请求期间不要使 session 过期? (请求完成后开始计算session超时。)
更新:该解决方案无需 JavaScript 即可运行。
最佳答案
Web 应用程序应该及时响应请求。我认为实际的问题不是 session 超时,而是一个长时间运行的进程在应该卸载到后端时在线发生。
不是让用户等待报告,而是在服务器上启动一个进程来生成报告,并用一个响应来响应用户,表明他们的请求已经排队并正在处理,他们的报告将被过程完成后准备就绪。
然后用户可以继续浏览网站、使用应用程序等。报告完成后,您可以通过多种方式通知用户。该应用程序可以向他们发送电子邮件,甚至可能附有报告。或者可以有一些应用程序内通知系统(如 Facebook 通知程序),它要么具有 AJAX 轮询机制,要么(响应您关于不使用 JavaScript 的更新)可能更加被动,并在他们的第一个页面请求之后简单地通知他们完成报告。
无论如何,任何需要这么长时间的进程都不应该内嵌在网络应用程序中。
编辑:作为建议的设置,您可以执行以下操作:
关于asp.net - 如何在长时间请求处理期间保持 ASP.NET session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12495708/
我是一名优秀的程序员,十分优秀!