2008-10-02 5 views
0

WebForms 응용 프로그램에서 System.Web.Routing 어셈블리를 사용하고 있습니다. win2008/IIS7에 배포 된 응용 프로그램을 실행할 때 다음 메시지가 나타납니다.WebForms에서 system.web.routing을 사용할 때 상태 서비스

세션 상태는 구성 파일이나 Page 지시문에서 enableSessionState가 true로 설정된 경우에만 사용할 수 있습니다. 또한 System.Web.SessionStateModule 또는 사용자 지정 세션 상태 모듈이 응용 프로그램 구성의 \\ 섹션에 포함되어 있는지 확인하십시오.

이것은 내가 구성한 경로를 사용할 때만 문제가됩니다. 직접 aspx 페이지로 이동할 때 문제가되지 않습니다.

EnableSessionState가 web.config 및 Page 지시문에서 설정되어 있습니다. web.config의 httpmodule에 Session 항목을 추가했습니다.

내 워크 스테이션에서 Visual Studio를 사용하여 개발할 때 문제가되지 않습니다. Win 2008의 IIS7에서 응용 프로그램을 실행하려고 할 때만 문제가됩니다.

+0

여기를 살펴보십시오. http://stackoverflow.com/questions/400236/asp-net-routing-do-custom-routes-completely-skip-everything-in-the-global-asax#400289 – grenade

답변

1

동일한 문제가 있으며 문제가 무엇인지 알고 있습니다.

나는 FileNotFound의 라우팅 시스템에서 페이지 구현하기 위해 노력하고있어 나는 '무엇

(I 알아낼 아직했습니다 뭔가가 FileNotFound 페이지를 제공 및 헤더에 404 응답을 제공하는 두 방법입니다) 어떤 이유로 인해 BuildManager에 등록 된 페이지가 세션 컨텍스트없이 인스턴스화 된 것으로 보입니다 (페이지가 실제로 요청되지 않고 인스턴스화되었습니다!).

적어도 그렇게하는 것 같습니다.


나는 이전의 주장에 대해 확신하지 못했습니다. 분명히 이미지 요청은 물리적으로 존재하지 않을 때 라우팅 시스템을 통과합니다. 이로 인해 이미지 경로가 일치 할 때 IRouteHandler이 호출됩니다. 이미지가 요청 될 때 세션 객체가 존재하지 않는다고 확신하므로 라우트 된 페이지에 액세스하려고 할 때 문제가 발생할 수 있습니다.

0

내가 설명하는 내용은 내가 가지고있는 question과 비슷하다고 생각합니다.

그것은 당신의 IIS7이 더 7 이상의 II6 같은 differnt 한 모드 NAD에서 실행되고있을 수 있습니다 : 1. 당신의 매핑이 제대로 요청을 리디렉션 : 질문의

몇? 2. 요청이 매핑 될 때 어디로 이동합니까? 3.이 페이지를 통해 어떤 코드 행이 오류를 생성하는지 추적하면 (코드에도 맞 춥니 다)?