我正在使用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/