我正在使用4D移动版从Wakanda Enterpise v11连接到4D服务器,然后连接到远程数据存储。我尊重60分钟的超时值。

在4D on 4D Mobile Authentication Method中,所有数据都可以使用($1包含用户名,$2包含密码)。

当闲置时间超过60分钟并尝试发送wakanda请求时,4D on 4D Mobile Authentication Method$1,..上的$2值将为空并返回“错误”。

如何从wakanda服务器功能中重新启动/重新连接而无需重新启动/重新加载wakanda服务器/模型,或者如何将超时设置为无限制?

我正在尝试使用恢复与4D服务器的连接


mergeoutsidecatalog()
向4D发送休息请求
等等


没用

最佳答案

mergeoutsidecatalog()的文档指出:


  超时(仅基于对象的语法):4D服务器上的客户端连接超时(传递表示分钟的数字)。每个需要对外部4D数据库进行REST访问的客户端查询都将在4D服务器端创建或使用客户端连接(进程),并保持客户端上下文。默认情况下,闲置60分钟后,连接将关闭。您可以根据需要将超时时间减少到15分钟。


因此,要使连接保持活动状态,您需要在超时之前发送查询。

问题是,一旦超时,就无法再次调用mergeoutsidecatalog();它只能在加载Model对象时完成,因此您需要重新启动Wakanda。 mergeoutsidecatalog()文档中记录了此行为:


  当加载当前Model对象时,即在Model.js文件的上下文中,必须调用此方法。


检查currentSession()可能会帮助您隔离最终用户会话何时到期,但是我不认为将用户重定向到登录页面会有所帮助,因为Wakanda Server无法在不重新加载模型的情况下调用mergeoutsidecatalog()(即重新启动) Wakanda)。

如果要无限期维护4D和Wakanda之间的连接,则需要:

a)将超时增加到一个非常大的数字(也许尝试0以查看是否禁用了超时)
要么
b)通过在超时之前发送查询来保持与4D服务器的心跳连接

关于javascript - Wakanda 4Dmobile超时问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35630475/

10-09 13:05