2010-12-02 2 views
3

프로덕션 시스템에서 간헐적으로 문제가 발생하여 한 페이지에서 다른 페이지로 이동하는 동안 사용자가 세션 시간 초과 메시지를받는 경우가 있습니다 (web.config 파일에서 시간 제한이 20 분으로 설정되어 있지만 이런 일이 발생합니다 30 초 이내에 요청 사이).두 ASP.NET_SessionId 쿠키가 갑자기 쿠키 목록에 나타날 수 있습니까?

이러한 제한 시간 중 하나의 피들러 세션을 가져 와서 제한 시간을 트리거 한 요청에 헤더에 두 개의 ASP.NET 세션 쿠키가 있음을 발견했습니다. ASP.NET이 새 세션 ID를 가져와 새 세션이라고 생각합니다.

POST https://************/****/****/GetBenefits HTTP/1.1 
x-requested-with: XMLHttpRequest 
Accept-Language: en-au 
Referer: https://********/****/****/****/eabacef3-3fc1-4c7a-a2f9-6b13294cae0d 
Accept: application/json, text/javascript, */* 
Content-Type: application/x-www-form-urlencoded 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) 
Host: ******** 
Content-Length: 272 
Connection: Keep-Alive 
Cache-Control: no-cache 
Cookie: __utma=234635549.1047786296.1290759252.1290759252.1291100928.2; __utmz=234635549.1291100928.2.2.utmcsr=localhost:1600|utmccn=(referral)|utmcmd=referral|utmcct=/X/****/****/****/a4ae2246-5b3c-42a9-8c43-b6f24f1838d5; SIVISITOR=MC4xMTAuMjA0ODY3NjQ1NDAwODIuMTI5MDc1OTI1MTgxMw__*; ASP.NET_SessionId=l0tsk4jwbp1v51mu3f3e4o55; __RequestVerificationToken_Lw__=JqfrynFIDnS1wc6aFWqP5WVsahQDipJzgrD/iFFfAZBUjbJX/EDrXokuyBzvNkArAjD1UBU6cKFitP1T0gI9RLUU8MIIemT2wkf0PNJhiA5dNZMNRf7PhlRpDf0zN8QCHGbd3w== 

<content removed> 

이 하나 개의 세션 항목이 포함되어 있습니다 : 여기

는 괜찮다고 마지막 요청이다 ASP.NET_SessionId의 = l0tsk4jwbp1v51mu3f3e4o55;

세션 타임 아웃을 반환 메시지는이 하나

POST https://********/****/****/UpdateProductCosts HTTP/1.1 
x-requested-with: XMLHttpRequest 
Accept-Language: en-au 
Referer: https://********/****/****/****/eabacef3-3fc1-4c7a-a2f9-6b13294cae0d 
Accept: text/html, */* 
Content-Type: application/x-www-form-urlencoded 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) 
Host: ******** 
Content-Length: 351 
Connection: Keep-Alive 
Cache-Control: no-cache 
Cookie: __utma=234635549.1047786296.1290759252.1291100928.1291267008.3; __utmz=234635549.1291100928.2.2.utmcsr=localhost:1600|utmccn=(referral)|utmcmd=referral|utmcct=/X/****/****/****/a4ae2246-5b3c-42a9-8c43-b6f24f1838d5; SIVISITOR=MC4xMTAuMjA0ODY3NjQ1NDAwODIuMTI5MDc1OTI1MTgxMw__*; ASP.NET_SessionId=0tluyjvt4dgroov05xqalg55; __utmb=234635549.1.10.1291267008; __utmc=234635549; ASP.NET_SessionId=l0tsk4jwbp1v51mu3f3e4o55; __RequestVerificationToken_Lw__=JqfrynFIDnS1wc6aFWqP5WVsahQDipJzgrD/iFFfAZBUjbJX/EDrXokuyBzvNkArAjD1UBU6cKFitP1T0gI9RLUU8MIIemT2wkf0PNJhiA5dNZMNRf7PhlRpDf0zN8QCHGbd3w== 

<content removed> 

이 두 개의 세션 항목이 포함되어 ASP.NET_SessionId의 = 0tluyjvt4dgroov05xqalg55; ASP.NET_SessionId = l0tsk4jwbp1v51mu3f3e4o55;

이것은 그 자체로 이상합니다.

내가 알고 싶은 것은 두 번째 세션 ID가 나타나는 이유입니다. 어떻게 이런 일이 일어나고 어떻게 해결할 수 있습니까?

응용 프로그램은 ASP.NET MVC 1.0 기반 웹 사이트입니다.

어떤 아이디어 나 대답을 환영합니다.

건배, 애드리안.

답변

0

쿠키가 동일한 디렉토리의 쿠키인지 확인하는 데 도움을주기 위해 IECookieViewer 또는 Firebug를 사용하십시오. 쿠키는 루트 (또는 임의의 상위) 디렉토리와 현재 응용 프로그램의 다른 디렉토리 일 수 있습니다. 그 쿠키 관리 프로그램이 도움이 될 것입니다.

+0

팁 Adilson에게 감사 드려요.하지만 제 동료 중 한 명이 문제를 발견했습니다. 기본적으로 두 개의 ASP.NET 웹 사이트가 있고 문제가 발생한 도메인 때문에 문제가 발생하고 있습니다. 첫 번째 사이트는 xxxxx.com에 있고 두 번째 사이트는 subdomain.xxxxx.com에 있습니다. 문제가있는 사이트는 후자입니다. 브라우저는 쿠키에 대해 혼란스러워하고 둘 다 전달합니다 (또는 최소한 우리가 보는 행동입니다). 세션 쿠키의 이름을 변경하면 문제가 해결 된 것으로 보입니다. –

관련 문제