[英]Datasnap session has expired
我一直在使用使用 datasnap 的客戶端服務器應用程序......在服務器重新啟動之前,一切都完美無缺。 一旦服務器重新啟動,客戶端也必須重新啟動。 如果不重新啟動客戶端,客戶端無法與服務器通信,因為煩人的問題“會話已過期”。 誰面臨同樣的問題? 如何求解? 謝謝
我創建了示例項目來闡明我的意思。 下載鏈接
重現問題的步驟:
好的,看來我找到了解決方案。
在客戶端只需設置 TDSRestConnection.PreserveSessionID=False。 我想每個請求都會有新的 session id,因此它永遠不會過期......
TDSRestConnection.PreserveSessionID=False
每次創建一個新的 session 是一種簡單的方法,但它會給服務器帶來不必要的壓力。
當發生 session 超時時,最好使用下面的代碼初始化 session 並再次請求。
TDSRestConnection.SessionID := '';
像這樣處理客戶端並適當調整服務器的 session 超時時間可以使服務器更有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.