Tôi đang cố gắng xác định cách truy xuất thông tin phiên bằng cách sử dụng máy chủ REST DataSnap Delphi REST.Delphi XE2 Datasnap Session Management - nhận thông tin phiên sau khi tải lại trang
Tôi biết rằng, khi trên cùng một trang khách hàng, bạn có quyền truy cập vào phiên chuỗi hiện tại bằng phương pháp TDSSession GetThreadSession.
Điều tôi muốn làm, tuy nhiên, lưu trữ dữ liệu trong phiên (putData) và vẫn có thể truy xuất dữ liệu khi người dùng di chuyển từ trang1 đến trang2. Hiện tại, nếu người dùng chuyển sang một trang khác, phiên bị mất và phiên mới được tạo, do đó mất dữ liệu trong phiên mà trước đó tôi đã đặt.
Tôi đã thử chơi với TDSSessionManager.SetThreadSession (sessionid) - nhưng tôi không thể làm cho nó hoạt động.
Tôi đã xem xét nhiều giấy trắng nổi tiếng Marco Cantu, tuy nhiên, nó không cung cấp giải pháp cho vấn đề này.
Bất kỳ trợ giúp nào tôi có thể thực hiện điều này sẽ rất tuyệt vời - ngay cả khi nó chỉ là 'hey, chủ đề này được đề cập trong cuốn sách X'.
Cảm ơn!
Xin lỗi - đó sẽ là thông tin hữu ích được cung cấp ban đầu. TDSServerClass hiện có thuộc tính Vòng đời của nó được đặt thành Phiên. – ConBran
Tôi nghĩ rằng điều này sẽ làm việc ra khỏi hộp nếu kết nối HTTP 1.1 KeepAlive có hiệu lực. –
Ngoài hộp, các ứng dụng REST sử dụng TIdHTTPWebBrokerBridge làm máy chủ. Theo mặc định, thuộc tính KeepAlive là 'false', do đó, theo đề xuất của bạn, khi máy chủ được khởi động, tôi đặt thuộc tính KeepAlive thành 'true', tuy nhiên, sự cố vẫn không may. – ConBran