如果在浏览器中打开xpage几个小时,那么当我回来并尝试点击寻呼机(进行部分刷新)时,它就不起作用了。那么如何自动检测并强制完全刷新呢?它有可能吗?
答案 0 :(得分:5)
答案取决于你想要完成什么,以及你愿意做些什么。部分刷新失败的原因是因为用户的XSP会话已超时,因此有关特定用户的页面视图的信息已过期,并且不能仅仅“使其工作”。要发生的事情是你需要设计并实现一种维护和重新加载页面状态的方法,然后必须在新的会话中恢复,或者会话需要永远不会在第一时间到期。第二种方式是最简单的,第一种方式非常困难。应用程序设置的XPages选项卡上有一个设置,允许您控制应用程序的超时。将值设置得更高以允许页面保持活动更长时间。这里有一个权衡,因为会话在内存中的时间越长,所需的内存就越多,这会导致可伸缩性降低。或者,您可以在onError中构建一些逻辑,这将检测失败的部分刷新,然后执行完全刷新以重新建立会话,但任何会话数据都将丢失。
答案 1 :(得分:2)
在ExtLib中查找xe:keepSessionAlive控件。它会定期ping服务器,这样会使你的会话保持活跃状态。
如果有太多用户打开浏览器,请注意性能问题。