알 수없는 이유로 내 웹 사이트는 로컬 디버깅 IIS 나 IIS 배포시 브라우저에 ASP.NET_SessionId 쿠키를 보내지 않으므로 각 페이지에서 항상 세션이 비어 있습니다. IIS 환경 설정에서 '세션 상태'가 '처리 중'으로 설정됩니다 (미안하지만 정확한 번역이 아닐 수도 있습니다.) 이 문제에 대한 아이디어가 있습니까?호출간에 세션 값이 손실됩니다.
추가 1 : 음, sessionstate 모드를 <sessionState cookieless="UseUri" />
으로 변경했습니다. 브라우저의 URL 주소가 이제 (S(fn215g55r4kws155lbfaxf55))
태그를 포함하지만, Session
ASPX 페이지의 속성은 항상 비어 있습니다. 그래서 ... 명백한 이유없이 내 웹 사이트는 여전히 세션이 없습니다.
추가 2. 동일한 디버그 서버에서 빈 웹 사이트를 만들고 세션 쿠키가 정상적으로 작동합니다. 호출간에 값이 유지됩니다. 그래서, 문제는 내 메인 웹 사이트 나 web.config와 관련이 있습니다.
덧셈 3. @Damien_The_Unbeliever에서 언급했듯이 문제는 실제로 값을 설정하는 것과 관련이 있습니다. 이유는 모르겠지만 세션은 완전히 라인을 무시합니다 Context.Session[promoCodeSessionKey] = (int?)promoCode.Id;
. 이 줄 뒤에 쿠키가 전송되지 않습니다. 그러나 세션이 이미 다른 장소에 만들어져 있고 쿠키가 설정된 경우이 줄이 올바르게 작동합니다.
덧셈 4. 이유를 찾았습니다. 아래 답변을 참조하십시오.
브라우저에서 쿠키를 사용 중지하지 않았습니까? 특정 브라우저를 사용해보실 수 있습니까? –
불행히도 모든 브라우저는 세션 쿠키를받지 못합니다. 다른 모든 쿠키는 괜찮습니다. 피들러를 사용하여 추적합니다. – Denis
실제로 세션을 * 사용하고 있습니까? 세션 쿠키는 사용 중이기 때문에 실제로 세션이 생성 될 때까지 설정되지 않고 세션 ID는 다시 생성됩니다. –