我的网络应用中有一个页面,用户可能会在没有服务器交互的情况下使用该页面。使用javascript在页面上完成所有交互。
如果我想在所有其他页面上将其设置为20分钟,如何防止会话被放弃?
我的解决方案是每10分钟发送一次空的ajax调用,只是为了给服务器打勾,但还有其他选择吗?
答案 0 :(得分:1)
您可以进行虚拟ajax调用以续订会话超时。
要执行此操作,请创建一个空的.aspx页面,并使用您要加载该页面的任何内容来续订会话。例如,JavaScript setInterval
和jquery $.get()
如果你不习惯使用JavaScript和jQuery,你总是可以使用Ajax Timer' and another Ajax
UpdatePanel`。
这可以保证在浏览器打开时会话将保持活动状态。
让所有会话延长并不是最好的解决方案。
取决于您需要此功能的位置,您可以在母版页上实现它,或在需要的地方包含它。您甚至可以将其包含在母版页中,并启用或禁用计时器。
答案 1 :(得分:0)
在ASP.Net中,您可以在返回之前更改Session.Timeout以在该页面上扩展它。我没有测试它是否会在其他后续请求中取消延伸,但值得一看。
http://msdn.microsoft.com/en-us/library/ms524319(v=vs.90).aspx