Global이 상속받는 클래스의 인스턴스는 사용자가 직접 생성하지 않고 ASP.NET 인프라 내에서 생성됩니다. HttpApplication 클래스의 인스턴스는 수명 동안 여러 요청을 처리하는 데 사용되지만, 한 번에 한 번에 하나의 요청만 처리할 수 있습니다. 이를 통해 각 요청에 대해 멤버 변수를 사용하여 데이터를 저장할 수 있습니다.
애플리케이션은 global.asax 파일에 정의된 모듈 또는 사용자 코드가 처리하는 이벤트를 다음 순서로 실행합니다:
1, BeginRequest (ASP.NET 가 요청에 응답할 때 HTTP 실행 파이프라인 체인의 첫 번째 이벤트로 발생합니다)
2, AuthenticateRequest (보안 모듈이 사용자 신원을 설정했을 때 발생합니다.) 참고: AuthenticateRequest 이벤트는 설정된 인증 메커니즘이 현재 요청을 인증했음을 알립니다. AuthenticateRequest 이벤트를 스케줄링하면 연결된 모듈이나 이벤트 핸들러를 처리하기 전에 요청이 인증되도록 보장합니다. )
3, PostAuthenticateRequest (참고: 이 이벤트는 .NET Framework 버전 2.0에서 새롭게 도입되었습니다.) 보안 모듈이 사용자 신원을 설정했을 때 발생합니다. PostAuthenticateRequest 이벤트는 AuthenticateRequest 이벤트가 발생한 후에 발생합니다. PostAuthenticateRequest 이벤트를 예약하는 기능은 PostAuthenticateRequest가 처리한 모든 데이터에 접근할 수 있습니다. )
4, 승인요청 (보안 모듈이 사용자 권한을 검증했을 때 발생합니다.) AuthorizeRequest 이벤트는 ASP.NET 가 현재 요청을 승인했음을 알립니다. AuthorizeRequest 이벤트를 스케줄링하면 추가 모듈이나 이벤트 핸들러를 처리하기 전에 요청이 인증되고 승인되도록 보장합니다. )
5, PostAuthorizeRequest (.NET 2.0의 새로운 이벤트) 현재 요청된 사용자가 권한이 부여된 상태일 때 발생합니다. PostAuthorizeRequest 이벤트는 ASP.NET 가 현재 요청을 승인했음을 알립니다. PostAuthorizeRequest 이벤트를 예약하면 추가 모듈이나 핸들러를 처리하기 전에 요청이 인증되고 승인됩니다. )
6, ResolveRequestCache (ASP.NET 캐시 모듈이 캐시에서 요청을 처리하도록 권한 이벤트를 완료할 때 발생하며, 이벤트 핸들러(예: 페이지나 XML 웹 문서)의 실행을 건너뛸 때입니다.) )
7, PostResolveRequestCache (ASP.NET 현재 이벤트 핸들러의 실행을 건너뛰고 캐시 모듈이 캐시의 요청을 충족할 수 있게 할 때 발생합니다.) PostResolveRequestCache 이벤트, PostMapRequestHandler 이벤트 전에 이벤트 핸들러(요청 URL 페이지에 대응)를 생성하세요.
8, PostMapRequestHandler ASP.NET 현재 요청을 적절한 이벤트 핸들러에 매핑했을 때 발생합니다
9, AcquireRequestState ASP.NET 현재 요청과 연관된 현재 상태, 예를 들어 세션 상태를 받을 때 발생합니다
10, PostAcquireRequestState 현재 요청과 연관된 요청 상태(예: 세션 상태)를 획득했을 때 발생합니다
11, PreRequestHandlerExecute 이는 이벤트 핸들러(예: 페이지나 XML 웹 서비스)를 실행하기 직전에 ASP.NET 발생합니다.
12, PostRequestHandlerExecute ASP.NET 이벤트 핸들러(예: 페이지나 XML 웹 서비스)가 실행을 마칠 때 발생합니다
13, ReleaseRequestState ASP.NET 가 모든 요청 이벤트 핸들러를 실행한 후에 발생합니다. 이 이벤트는 상태 모듈이 현재 상태 데이터를 저장하게 만듭니다.
14, PostReleaseRequestState ASP.NET 모든 요청 이벤트 핸들러의 실행을 완료하고 요청 상태 데이터가 저장되었을 때 발생합니다.
15, UpdateRequestCache 이는 ASP.NET 이벤트 핸들러를 실행을 마치면 캐시 모듈 저장소가 캐시에서 후속 요청에 대한 응답을 전달하는 데 사용될 때 발생합니다.
16, PostUpdateRequestCache 이 이벤트는 ASP.NET 캐시 모듈 업데이트를 완료하고 캐시에서 이후 요청을 처리하기 위한 응답을 저장한 후에 발생합니다.
17, 요청 종료 HTTP 실행 파이프라인 체인에서 ASP.NET 요청에 응답할 때 마지막 이벤트로 발생합니다.
코드는 다음과 같습니다:
|