启用反向Ajax时,httpsession不会过期

时间:2009-10-27 22:33:24

标签: httpsession reverse-ajax

我有一个使用DWR反向Ajax的web应用程序(pollAndCometEnabled设置为true) 在我的web.xml中,我为HttpSession设置了30分钟的超时时间。 由于DWR轮询服务器,因此http会话始终处于活动状态,结果是它永不过期,即使用户的交互处于非活动状态超过30分钟。 有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我可以为您考虑3种不同的选择......

1)在不使用会话cookie的域上保留您的彗星请求;作为附带好处,您还可以减少您的请求开销

2)监控客户端的超时。根据您的应用程序设置,这可能更多的是一件苦差事,但是setTimeout是一个非常简单的解决方案;缺点是,你不是真的到期了,所以会话在技术上仍然对服务器有效,但好处是你可以轻松地给他们一个很好的“你的会话即将到期”警告。

3)监控服务器的活动;因为您正在使用彗星解决方案,您可以监视服务器上的会话,并在会话到期时,将消息推送到客户端,通知他们会话已结束。如果您无法切换域,这是最佳选择,因为您可以在服务器上删除会话,并让客户端同时知道。