2013-04-24 95 views
1

我在我的应用程序中指定了以下设置,但应用程序没有超时?工作灯:超时未注销用户

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(); } } ,  ]);  } 

还有什么,我必须设置?

感谢

回答

2

尝试添加以下的初始化选项的obj如果你想超时:

{ 
Timeout: 60000, 
heartBeatIntervalInSecs: 5 * 60, 
connectOnStartup : true, 
onConnectionFailure : function() { 
     alert('failed'); 
    } 
} 

如果后60000 MS没有连接到工作灯服务器,你应该得到的failed警报。

该文档是here。另外请注意,Timeout不仅适用于该初始化调用。参见以下内容:

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

但是,这会不是注销用户。我假设您需要在服务器上设置一些会话过期数据,以在特定时间后注销用户。你可能想看看WL.Client.logout

+0

我在“initOptions.js”文件中定义了onFailure函数,并且一旦服务器连接建立一次,它就不会被触发。 “initOptions.js”文件中的onFailure和onConnectionFailure之间是否有区别?谢谢 – AAhad 2013-04-24 18:21:45

+1

“如果未通过onFailure函数,则会调用默认的onFailure函数,如果onFailure通过,它将覆盖任何特定的故障处理函数。” onConnectionFailure是一个特定的错误handeling函数:“连接到IBM Worklight Server时调用的失败处理函数,默认情况下在初始化时执行,或者connectOnStartup标志为true,失败。” [链接到文档](http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m6/index.jsp?topic=%2Fcom.ibm.worklight.help.doc%2Fapiref%2Fr_wl_client_init.html) – cnandreu 2013-04-24 18:45:02