我有一個單頁網站,大量使用AJAX
。用戶操作全部以例如形式被髮送到URL。 requests.aspx?obid=1&verb=shownotes
ASP.Net會話超時問題
我的託管服務提供商的會話過期設置爲5分鐘,這太短。我正在努力讓他們改變這一點。
我曾嘗試使用setInterval
每30秒向服務器發送一次請求,但會話在5分鐘後仍然過期。 setInterval
請求中的信息看起來就像用戶請求,但我猜服務器沒有被愚弄。
我已禁用與jQuery
緩存。
我不使用cookies。
難道是setInterval
請求被緩存在服務器本身上嗎?我應該追加一個隨機字符串到這個請求嗎?
確保會話保持活動狀態的最佳方法是什麼?
編輯:下面是來自Chrome開發人員工具複製請求頭:
的典型用戶操作請求頭:
POST /requests.aspx?obid=0&otid=203&verb=display¶m1=0¶m2=0¶m3=0 HTTP/1.1
Host: applify.co.za
Connection: keep-alive
Content-Length: 0
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://applify.co.za
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
DNT: 1
Referer: http://applify.co.za/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: ASP.NET_SessionId=4li3ilr0bsb5yc1uf5oy1pd1
請求頭爲setInterval
行動:
POST /requests.aspx?obid=0&otid=545&verb=donothing¶m1=¶m2=¶m3= HTTP/1.1
Host: applify.co.za
Connection: keep-alive
Content-Length: 0
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://applify.co.za
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
DNT: 1
Referer: http://applify.co.za/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: ASP.NET_SessionId=4li3ilr0bsb5yc1uf5oy1pd1
兩個看幾乎相同的。
您使用表單身份驗證嗎? – Abhitalks