Worklight:Timeout不会注销用户

时间:2013-04-24 08:47:09

标签: timeout ibm-mobilefirst

我在我的应用程序中指定了以下设置,但应用程序没有超时?

timeout: 60000 ,
heartBeatIntervalInSecs: 5 * 60

我修改了我的代码,并在连接断开时尝试重新加载应用程序。它要求用户重新加载或关闭应用程序。但这两个功能都无法正常工作。事件被正确触发,但指定的库函数在这里没有按预期工作。关闭功能仅在后台运行App并终止App进程。

onConnectionFailure: function (){ 
    WL.SimpleDialog.show("Communication Failure", "An unexpected server connection error has occurred. Please try again later.", 
    [{text : 'Reload',  handler : function () {   WL.Client.init(wlInitOptions); }} ,       {text : 'Close',handler : function () {  WL.App.close(); }  } ,     ]);     }

我还需要设置其他任何东西吗?

由于

1 个答案:

答案 0 :(得分:2)

如果您想要Timeout:

,请尝试将以下内容添加到init选项obj中
{ 
 Timeout: 60000,
 heartBeatIntervalInSecs: 5 * 60,
 connectOnStartup : true,
 onConnectionFailure : function () { 
      alert('failed');
   }
}

如果在60000毫秒之后没有与Worklight Server的连接,您应该收到failed警报。

文档为here。另请注意,Timeout不仅适用于该init调用。请参阅以下内容:

  

一个整数值,表示超时(以毫秒为单位)。超时   影响从应用程序到IBM®Worklight®Server的所有调用。如果不   如果指定,则使用30,000毫秒(30秒)的超时。

然而,这将注销用户。我假设您需要在服务器上设置一些会话过期数据,以便在一段时间后注销用户。您可能需要查看WL.Client.logout