簡體   English   中英

為什么我的 session 結束了?

[英]Why is my session ending?

我有一個 ASP.NET web 應用程序我正在使用 VS2010 運行,它的 session 超時配置為 20 分鍾。
我留下一個頁面運行,每 2 分鍾調用一次 ajax 並安裝了除顫器 使用此設置,session 永遠不會過期; 但我發現 20 分鍾后我的 session 仍在結束。

有人知道為什么會這樣嗎? 更重要的是,誰能告訴我當用戶在該頁面時如何確保 session 永不過期?


編輯:我更改了除顫器,因此它現在在 javascript 中執行此代碼: setTimeout("location.href = '/Defibrillator.aspx?nocache=" + Math.floor(Math.random()*100000000001) + "';",60000);
還是一樣,所以這不是緩存問題。
我直接從 VS 運行站點(通過調試“播放”按鈕),所以它不應該共享應用程序池,對嗎?

您是否確認 javascript 正在執行? 檢查您的訪問日志以查看請求是否存在。

還要檢查您的 cookies - 我懷疑 session cookie 可能沒有更新,因此您可能需要偶爾重新加載頁面以刷新它。

更新:從評論中,聽起來瀏覽器存儲的 session cookie 沒有被刷新。 我建議定期重新加載頁面,或者更改 session 超時。 您必須根據應用程序的使用模式來平衡兩者。

最后,我不得不求助於使用 ajax 添加自動保存功能。
StackOverflow 無法給我答案,這是悲傷的一天:(


編輯:我終於找到了導致問題的原因......原來在母版頁的某個地方,代碼正在調用一個相當模糊的方法,該方法強制執行固定超時......所以它不是你可以擁有的任何東西幫了我。 對於那個很抱歉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM