Estoy intentando determinar cómo recuperar la información de sesión utilizando un servidor Delphi REST DataSnap.Delphi XE2 Datasnap Gestión de sesión: obtener información de sesión después de la recarga de la página
Sé que, cuando se encuentra en la misma página de cliente, tiene acceso a la sesión actual de subprocesos mediante el método GetThreadSession de TDSSession.
Lo que quiero hacer, sin embargo, es almacenar datos en la sesión (putData) y aún así poder recuperarlos cuando el usuario se mueve de la página1 a la página2. En la actualidad, si el usuario se mueve a una página diferente, la sesión se pierde y se crea una nueva, perdiendo así los datos en la sesión que había establecido previamente.
He intentado jugar con TDSSessionManager.SetThreadSession (sessionid) - pero parece que no puedo hacer que funcione.
He revisado el muy aclamado libro blanco de Marco Cantu, sin embargo, no proporciona una solución a este problema.
Cualquier ayuda que pueda obtener sobre esto sería genial, incluso si es solo 'oye, este tema está cubierto en el libro X'.
Gracias!
Disculpas: esa información habría sido útil al principio. El TDSServerClass tiene actualmente su propiedad LifeCycle establecida en Session. – ConBran
Creo que esto debería funcionar de la caja si la conexión HTTP 1.1 KeepAlive está en efecto. –
Fuera de la caja, las aplicaciones REST utilizan TIdHTTPWebBrokerBridge como servidor. De forma predeterminada, la propiedad KeepAlive es 'falsa', por lo tanto, siguiendo su sugerencia, cuando se inicia el servidor, estoy estableciendo la propiedad KeepAlive en 'verdadera', sin embargo, el problema persiste por desgracia. – ConBran