2013-08-05 7 views
1

AJAX을 많이 사용하는 단일 페이지 웹 사이트가 있습니다. 사용자 동작은 모두 URL 형식으로 전송됩니다. requests.aspx?obid=1&verb=shownotesASP.Net 세션 시간 초과 문제

내 호스팅 제공 업체의 세션 만료 시간이 5 분으로 너무 짧습니다. 나는 그들을 변화 시키려고 고군분투하고있다.

나는 setInterval을 사용하여 30 초마다 서버에 요청을 보내려고했지만 세션은 5 분 후에도 만료됩니다. setInterval 요청의 정보는 사용자 요청과 유사하지만 서버가 속지 않은 것 같습니다.

jQuery으로 캐싱을 사용 중지했습니다.

쿠키를 사용하지 않습니다.

setInterval 요청이 서버 자체에 캐시 될 수 있습니까? 이 요청에 임의의 문자열을 추가해야합니까?

세션이 살아 있는지 확인하는 가장 좋은 방법은 무엇입니까?

편집 : setInterval 조치에 대한

POST /requests.aspx?obid=0&otid=203&verb=display&param1=0&param2=0&param3=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 

요청 헤더 : 일반 사용자 동작에 대한

요청 헤더 : 모두 볼

POST /requests.aspx?obid=0&otid=545&verb=donothing&param1=&param2=&param3= 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 

다음은 크롬 개발자 도구에서 복사 요청 헤더입니다 거의 똑같다.

+0

양식 인증을 사용하고 있습니까? – Abhitalks

답변

0

당신은 타임 스탬프 접미사 등을 추가하는 시도 할 수 있습니다 :

var t='requests.aspx?obid=1&verb=shownotes'; 
t+='&'+(1*new Date()) 

요청을 계속 (JS를 통해)

....

또는 C#을 통해

...requests.aspx?obid=1&verb=shownotes&t=<%=DateTime.Now.Ticks%>

ps 우리가 볼 수 있도록 귀하의 설정된 간격 코드를 게시하십시오.

NB

  • JQuery와 아약스는

    false로 설정하려고 기본적으로 true (IMHO)입니다 cache 속성이 있습니다. 타임 스탬프가 추가됩니다.

  • 당신은 aspx 코드에 대한 코드를 게시 할 수 있습니까? (나는

+0

'$ .ajaxSetup ({cache : false});'이미 시도했습니다. 타임 스탬프 접미어를 사용합니다. –

+0

@CorneBeukes는 헤더에 대해 chrome developertool bar를보고 질문에 게시합니다. –

+0

일반적인 요청을 표시하기 위해 게시물을 편집했습니다. –

0

당신은 웹에서 세션 타임 아웃을 무시할 수 있습니다 .... 당신이 또는으로 Response.End ClearHeaders을 할 경우보고 싶어요.구성은 :

<system.web> 
    <sessionState timeout="60" /> 
</system.web> 

쿠키를 사용하지 않기 때문에, 당신은 특별히 cookieless=true를 지정할 수 있습니다.

+0

시간 초과는 호스팅 공급자에 의해 제어되며'web.config'에 sessionstate를 설정해도 아무런 효과가 없습니다. –