如何防止空闲用户放弃会话(会话明智)

时间:2013-12-09 14:18:09

标签: asp.net session

我的网络应用中有一个页面,用户可能会在没有服务器交互的情况下使用该页面。使用javascript在页面上完成所有交互。

如果我想在所有其他页面上将其设置为20分钟,如何防止会话被放弃?

我的解决方案是每10分钟发送一次空的ajax调用,只是为了给服务器打勾,但还有其他选择吗?

2 个答案:

答案 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