首先,我知道简单的答案是否定的。但我的问题是:我有一个使用 comet 向用户通知事件的 webapp,但是当重新连接发生时,会话时间会更新。在某些情况下,如果用户让浏览器打开,会话将永远不会过期。
所以我试图弄清楚是否有办法避免会话更新对彗星 url 的请求(可能使用特定容器的解决方案,如 Tomcat 的阀门),或者我是否真的必须创建一个自定义会话控制器对于我的应用程序,它不依赖于 HttpSession。
有任何想法吗?
首先,我知道简单的答案是否定的。但我的问题是:我有一个使用 comet 向用户通知事件的 webapp,但是当重新连接发生时,会话时间会更新。在某些情况下,如果用户让浏览器打开,会话将永远不会过期。
所以我试图弄清楚是否有办法避免会话更新对彗星 url 的请求(可能使用特定容器的解决方案,如 Tomcat 的阀门),或者我是否真的必须创建一个自定义会话控制器对于我的应用程序,它不依赖于 HttpSession。
有任何想法吗?
The simplest way to do this is to have the comet connection stream on a different domain, and make sure your session cookies aren't set for that domain. Then the streaming connection can't renew the session and you're good to go.
This solution does require that your comet solution supports cross-domain streaming; not sure what you're using for that, but any commercial comet solution worth its salt should work cross-domain without a problem.