2011-10-06 2 views
2

에 내가 기본 URL을 검색하기 위해이 같은으로 Global.asax.cs이 . 하지만 생산에 투입하면 System.Web.HttpContext.Current.Requestnull을 반환합니다.HttpContext.Current.Request 널 내 WCF 응용 프로그램에서 생산

왜 이런 일이 벌어지고 있는지 알 수 있습니다.

+0

예 프로덕션 응용 프로그램은 IIS에서 호스팅됩니다. – capdragon

+5

응용 프로그램 시작 이벤트에서 현재 요청을 사용하려고하는 이유는 무엇입니까? 신청은 요청에 의해 시작되거나 시작되지 않을 수 있습니다. –

+0

@ liho1eye. doh! 당연하지! 정말 죄송합니다. 지금이 게시물을 삭제해야합니까? – capdragon

답변

4

이동 코멘트 :

당신은 Application_Start 이벤트 내에서 현재 요청에 액세스를 시도해서는 안된다.

8

이것은 개발시 응용 프로그램 풀이 "클래식"모드 (또는 IIS 6-)에 있기 때문일 수 있습니다.

프로덕션 환경에서는 응용 프로그램 풀이 "통합"으로 설정됩니다. 통합하면 Application_Start에있는 Request 개체에 액세스 할 수 없습니다.

클래식 동작은 클래식 모드에서 ASP.NET 응용 프로그램을 시작하는 유일한 방법은 첫 번째 요청 때문입니다. 통합 모드에서 응용 프로그램은 요청 (예 : 응용 프로그램 예열과 같은) 이외의 방법으로 시작할 수 있습니다.

IIS's Website에서 이유 및 해결 방법에 대한 자세한 정보를 확인할 수 있습니다.

    클래식 모드에 AppPool을 전환
  1. :

    는 궁극적으로 두 가지 옵션이 있습니다.

  2. Application_Start에서 Request 개체에 액세스하지 마십시오. 대답에
+2

vcsjones, droppin '과학 – heisenberg

관련 문제