2011-05-12 3 views
1

저는 ASP MVC 응용 프로그램을 만들고 있습니다.HttpContext.Current.Session이 null 요청 이미지입니다. 왜?

나는 예를 들어, 컨트롤러에 대한 경로를 요청하는 경우 :

http://myserver/sales/id/5 

HttpContext.Current.Session가 완벽하게 작동하는 세션 객체. 그러나

, 내가 예를 들어, 이미지 나 스크립트, 요청 해요 :

http://myserver/Scripts/jquery-1.4.1.js 

세션 개체 HttpContext.Current.Session는 "더있을 때 나는 다른에서이 상황을 구별 할 수 없습니다 어떻게 null

입니다 실제 "세션 (예 : 첫 번째 로그인)?

답변

4

왜 정적 파일을 가져 오는 세션이 필요합니까?

동적 처리기를 사용하지 않는 한 세션에서 이러한 콘텐츠를 검색 할 필요가 전혀 없습니다.

요점은 세션이 정적 컨텐츠를 검색하는 데 유용한 목적을 제공하지 않으므로 사용할 수 없다는 것입니다.

2

@Oded가 맞습니다. 이것은 asp.net의 최적화입니다. 세션을 사용할 수있게하려면 세션이 필요하다는 것을 나타내는 처리기로 이동하라는 요청이 필요합니다. 자체 처리기를 작성하는 경우 마커 인터페이스 IRequiresSessionState을 구현하기 만하면됩니다.

이 최적화는 현재 요청에 대한 것이 아니라 동일한 세션을 사용하는 여러 요청으로하는 모든 병렬 요청을 직렬 방식으로 처리합니다. 이에 대한 자세한 내용은 내 blog post을 읽어보십시오.

+1

블로그 게시물에 404가 표시됩니다. – Dror

+0

알려 주셔서 감사합니다. 내 블로그의 새로운 위치에 대한 링크를 업데이트했습니다. –

관련 문제