Delphi XE2 Datasnap会话管理 – 在页面重新加载后获取会话信息
我试图确定如何使用Delphi REST DataSnap服务器检索会话信息.
我知道,当在同一个客户端页面上时,您可以使用TDSSession方法GetThreadSession访问当前线程会话. 但是,我想要做的是在会话中存储数据(putData),并且当用户从page1移动到page2时仍然能够检索它.目前,如果用户移动到不同的页面,会话将丢失并创建一个新会话,从而丢失我之前设置的会话中的数据. 我试过玩TDSSessionManager.SetThreadSession(sessionid) – 但我似乎无法让它工作. 我已经回顾了备受好评的Marco Cantu白皮书,但是,它没有为这个问题提供解决方案. 我能得到的任何帮助都会很棒 – 即使它只是’嘿,这个主题在书X中有所涉及’. 谢谢! 解决方法
TDSSessionManager.SetThreadSession(sessionid)与Session.sessionname一起使用.
另外,请确保您的生命周期设置为会话(如tondrej所述). 如果您重新连接客户端.新会话开始.因此,您希望保持Datasnap连接处于打开状态. 或者,您可以将生命周期设置为Server,并自行管理客户端会话. 编辑:休息服务器是无状态的.因此,您需要将您所在的页面存储在客户端上.并从服务器查询所需的页面 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |