언제 그렇게하고 있습니까? 모듈 이벤트에 있습니까? 통합 풀에서도 완벽하게 수행 할 수 있어야합니다. 통합 모드에서 실행될 때 ASP.NET이 IIS에 후킹하여 "더 많은 일등급"이되는 방식에 변화가 생깁니다. 이것은 특정 이벤트가 전에 발생한다는 것을 의미합니다. 예를 들어 Application_Start는 실제 요청의 컨텍스트 외부에서 실행됩니다. BeginRequest는 이제 IIS가 인증되기 전에 발생하기 때문에 BeginRequest에 Windows 인증 ID가 필요하다고 예상되는 예가 있습니다. 과거에는 그렇지 않았습니다.
응용 프로그램이 이전의 잘못된 동작에 의존하는 경우에도 여전히 AppPool을 클래식 모드로 변경할 수 있으며 정상적으로 작동합니다.
당신은 요청 등 은 또한, 나는 그는 해시에 추가로 찾아 초래하기 때문에 HttpContext.Current 사용에 대한 추천이 BeginRequest, EndRequest 이벤트, PostAuthorizeRequest, 같은 특정한 어떤 통지의 요청을 잡을 수 있어야한다 테이블과 일반적으로 예를 들어 당신이 BeginRequest을 처리하는 경우, 그래서 당신이 할 수있을 것입니다, 특별히 모듈의 맥락에서, 다른 방법으로 직접 컨텍스트를 얻을 수 있습니다 :
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
을하고 조회를 저장합니다 .
BeginRequest 및 EndRequest를 처리하는 모듈을 구현해야하며 잘해야합니다.
귀하의 질문에 대한 답변이 아니지만 대안입니다. 'System.Web.Ui.Page' 클래스를 상속받은'BasePage' 클래스를 만들지 마십시오. 이제 모든 페이지는'BasePage'에서 상속받을 수 있습니다.그런 다음 거기에서 로깅을하는'BasePage'에 자신의'Page_Load' 이벤트를 추가 할 수 있습니다. –