2009-12-14 12 views
5

임은 DB를 조회 할 필요성을 피하기 위해 ASP .NET MVC 우리가 ecripted 쿠키합니다 (ASPXAUTH 쿠키) 내부의 정보를 저장하는이 프로젝트 2.ASPXAUTH 쿠키가

에서 웹 프로젝트에서 작업 저장되지 않는 모든 요청에 ​​대해

이 부분의 코드가 갑자기 작동을 멈췄습니다.

소스 제어 서버에서 코드를 변경 한 내용을 검토 한 결과 아무 것도 발견되지 않았습니다. 나는 알려진 작업 사본 (일부 다른 사람 PC, 동일한 코드 등)에서 디버깅을 수행했지만 .ASPXAUTH 쿠키가 더 이상 저장되지 않는 것 같습니다. 대신 ASP.NET_SessionId 쿠키가 설정 중입니다 ... (이전에 없었던 경우)

sessionstate를 해제하도록 web.config 파일을 변경했습니다. 이로써 ASP.NET_SessionId 쿠키가 설정되지 않았지만 여전히 인증 쿠키가 저장되지 않습니다.

필자는 최근에 일부 Microsoft Windows XP 업데이트를 설치했지만 다른 사람 (PC는 누구나 응용 프로그램을 정상적으로 실행)도 설치했습니다.

Google 검색 결과 쿠키의 만료 날짜 문제를 지적한 일부 정보가 발견되었습니다. Ether cus는 올바른 시간/날짜 (이 경우가 아님)와 다른 쿠키 만료일을 잘못 설정했습니다. (확인하고 올바르게 설정 중입니다 ...)

(크롬)을 사용하는 다른 브라우저에서 문제가 지속됩니다. IE6을 사용해 보았습니다.

왜 그런지에 대한 아이디어가 있습니까?

아플 나는 유용한 정보를 계속 게시하고 있습니다.

미리 감사드립니다.

답변

8

쿠키가 너무 커질 수 있습니다. 나는 같은 문제에 부딪쳤다. 쿠키가 너무 큰 될 경우 , 그냥

MSDN

쿠키는 일반적으로 4096 바이트로 제한됩니다 물론 브라우저에 따라 작동하지 않습니다 그리고 당신은 사이트 당 20 개 이상의 쿠키를 저장할 수 없습니다. 하위 키가있는 단일 쿠키를 사용하면 사이트에 할당 된 20 개의 쿠키 중 적은 수를 사용합니다. 또한 하나의 쿠키는 오버 헤드 (만료 정보 등)에 약 50자를 더한 값과 저장 한 값의 길이를 모두 차지합니다.이 값은 모두 4096 바이트 제한으로 계산됩니다. 5 개의 개별 쿠키 대신 5 개의 하위 키를 저장하면 별도의 쿠키의 오버 헤드를 절약하고 약 200 바이트를 절약 할 수 있습니다. 이 다음이 문제가 발생 될 한계를 초과하는 경우

What is the maximum size of a web browser's cookie's key?

what happens when cookies file exceeds maximum size?

+0

당신은 그것의 명확하게 크기 문제, 그것을 못 박았. 고마워. :] –

0

쉬운 방법은 다음 코드를

int cookieSize = System.Text.UTF8Encoding.UTF8.GetByteCount(faCookie.Values.ToString()); 

을 쿠키 크기가 디버깅하는 것입니다 확인하고 실행합니다.

관련 문제