我有一个单页网站,大量使用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