Ich versuche herauszufinden, wie Sitzungsinformationen mithilfe eines Delphi REST DataSnap-Servers abgerufen werden.Delphi XE2 Datasnap Sitzungsverwaltung - Abrufen von Sitzungsinformationen nach dem erneuten Laden der Seite
Ich weiß, dass Sie auf der gleichen Client-Seite Zugriff auf die aktuelle Thread-Sitzung haben, die die GetShreadSession -TDSSession-Methode verwendet.
Was ich jedoch tun möchte, ist speichern Daten in der Sitzung (PutData) und immer noch in der Lage, es abzurufen, wenn der Benutzer von Seite1 zu Seite2 bewegt. Wenn der Benutzer derzeit auf eine andere Seite wechselt, geht die Sitzung verloren und es wird eine neue Sitzung erstellt, wodurch die Daten in der Sitzung verloren gehen, die ich zuvor eingerichtet habe.
Ich habe versucht, mit TDSSessionManager.SetThreadSession (SessionID) zu spielen - aber ich kann nicht scheinen, es funktioniert.
Ich habe das viel gelobte Marco Cantu Whitepaper gelesen, es bietet jedoch keine Lösung für dieses Problem.
Jede Hilfe, die ich bekommen kann, wäre großartig - auch wenn es nur "hey, dieses Thema ist in Buch X abgedeckt".
Danke!
Entschuldigung - das wäre hilfreiche Informationen gewesen, die ursprünglich zur Verfügung gestellt wurden. Die LifeCycle-Eigenschaft der TDSServerClass ist derzeit auf Sitzung festgelegt. – ConBran
Ich denke, das sollte out-of-the-Box funktionieren, wenn HTTP 1.1 KeepAlive Verbindung in Kraft ist. –
Standardmäßig verwenden die REST-Anwendungen TIdHTTPWebBrokerBridge als Server. Standardmäßig ist die KeepAlive-Eigenschaft 'false'. Wenn Sie also Ihrem Vorschlag folgen und beim Starten des Servers die KeepAlive-Eigenschaft auf 'true' setzen, bleibt das Problem leider bestehen. – ConBran