保持活动控制不能第一次工作

时间:2012-04-02 10:24:36

标签: xpages

我使用了升级包1的Keep-Alive控件,我遇到了这个问题。

"首次登录应用程序后,Xpages中的控件无法正常工作。

但是如果你打开另一个Xpages并返回fisrt Work"

有人知道这个Bug吗?

2 个答案:

答案 0 :(得分:1)

那应该有用。 xe:keepSessionAlive就像它说会使活动保持活动直到浏览器页面关闭一样。它可以添加到XPage中,无需进一步配置。默认情况下,它会在会话结束前30秒ping服务器。您还可以通过将“延迟”属性设置为秒数来更改此时间。
我们可能需要了解您的方案的更多细节,尽管在我尝试的场景中(控件位于以编辑模式打开现有文档的默认页面上)它都按预期工作。

答案 1 :(得分:1)

当加载时间超过30秒时会发生此问题。即

  1. 页面启动加载 - 启动时间变量。
  2. 因道具而导致页面加载超过30秒 - 是的,这仍然发生在现实世界中。
  3. 计时器在AFTER页面加载时启动。
  4. ping发生得太晚
  5. 更简单地说,ping发生在这个间隔:...(页面加载时间+会话超时值) - 30秒。

    为了确保在我使用它的地方不会发生这种情况,我将延迟时间从30秒调整为5分钟:

        <xe:keepSessionAlive>
            <xe:this.delay><![CDATA[#{javascript:
    try{
      var delay:int=facesContext.getExternalContext().getSession(false).getMaxInactiveInterval()-300;
      if(delay>0){
        return delay ;
      }
    }catch(e){}
    return ; // failover to default}]]></xe:this.delay>
        </xe:keepSessionAlive>
    

    如果控件将页面加载时间记入帐户,那肯定会很好:)