일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 국정화 반대
- db
- 국정화
- 티스토리
- 술안주
- 하남
- 동적쿼리
- jquery
- Lock
- 재테크
- 카카오가 찾아준 헤어샵
- 초대장
- C#
- MSsql
- 최신트래커
- 파리바게트 청라 SK점
- 박근혜 탄핵
- 함수
- 트레커
- 하남맛집
- 토렌트
- 파리바게트
- .net
- 트래커
- 맛집
- 카카오헤어샵
- javascript
- 신장사거리
- Google Map
- 내장함수
Archives
- Today
- Total
featur
[.net] Global.asax Events 본문
Global.asax 파일은 Application, HttpModule에서 사용하는 Events들을 한 장소에서 처리할 수 있도록 지원합니다. Global.asax는 HttpApplication을 상속하기 때문에 HttpApplication에 대한 모든 기능을 사용하실 수 있습니다.
이벤트
Global.asax에서 기본적으로 지원하는 이벤트는 다음과 같습니다.
- Application_Init: Application이 실행될 때 실행되는 이벤트입니다.
- Application_Disposed: Application이 소거될 때 발생하는 이벤트입니다. Application에서 사용한 자원을 소거하기에 이상적인 장소이기도 합니다.
- Application_Error: 처리되지 않은 Exception이 발생했을 때 호출되는 이벤트입니다.
- Application_Start: HttpApplication의 Instance가 생성될 때마다 실행되는 이벤트입니다. 즉 HttpApplication이 N개면 N번 호출됩니다.
- Application_End: HttpApplication의 Instance가 소거될 때 실행되는 이벤트입니다.
- Application_BeginRequest: 사용자의 Request를 수신했을 때 발생하는 이벤트입니다. 이 이벤트는 Request를 수신했을 때 가장 먼저 호출되는 이벤트이기도 합니다.
- Application_EndRequest: Request 처리 후 가장 마지막에 실행되는 이벤트입니다.
- Application_PreRequestHandlerExecute: ASP.NET Page Framework가 ASP.NET Page 또는 Web Service 들의 Event를 호출하기 전에 실행되는 이벤트입니다.
- Application_PostRequestHandlerExecute: ASP.NET Page Framework가 ASP.NET Page 또는 Web Service 들의 Event를 마쳤을 때 실행되는 이벤트입니다.
- Applcation_PreSendRequestHeaders: ASP.NET Page Framework가 Http Header를 Client로 전송하기 전에 실행되는 Event입니다.
- Application_PreSendContent: ASP.NET Page Framework가 Http Contents를 Client로 전송하기 전에 실행되는 Event입니다.
- Application_AcquireRequestState: ASP.NET Page Framework가 현재 요청과 관련하여 Current State(Session State)를 얻게 되었을 때 호출되는 이벤트입니다.
- Application_ReleaseRequestState: ASP.NET Page Framework가 관계된 모든 Events를 실행하고 난 뒤 호출되는 이벤트입니다. 이 이벤트로 인해 모든 State Modules가 Current State Data를 저장하게 됩니다.
- Application_ResolveRequestCache: Fired when the ASP.NET page framework completes an authorization request. It allows caching modules to serve the request from the cache, thus bypassing handler execution.
- Application_UpdateRequestCache: Fired when the ASP.NET page framework completes handler execution to allow caching modules to store responses to be used to handle subsequent requests.
- Application_AuthenticateRequest: Fired when the security module has established the current user's identity as valid. At this point, the user's credentials have been validated.
- Application_AuthorizeRequest: Fired when the security module has verified that a user can access resources.
- Session_Start: Fired when a new user visits the application Web site.
- Session_End: Fired when a user's session times out, ends, or they leave the application Web site.
이벤트 실행 순서
각 이벤트의 실행 순서는 다음과 같습니다.
- Application_BeginRequest
- Application_AuthenticateRequest
- Application_AuthorizeRequest
- Application_ResolveRequestCache
- Application_AcquireRequestState
- Application_PreRequestHandlerExecute
- Application_PreSendRequestHeaders
- Application_PreSendRequestContent
- <<code is executed>>
- Application_PostRequestHandlerExecute
- Application_ReleaseRequestState
- Application_UpdateRequestCache
- Application_EndRequest
Application_Init, Application_Start가 Application이 시작할 때 한 번씩 실행되며, Application_Dispose, Application_End는 Application이 종료될 때 한번 씩 실행됩니다. Session_Start, Session_End는 각각 Session이 시작될 때와 종료될 때 실행됩니다.
기타 이벤트
Global.asax는 Application의 Events 뿐만 아니라 HTTPModule들의 Events도 정의하실 수 있습니다.
- Profile_OnMigrateAnonymous: Anonymous User를 사용하다가 Login 등 사용자 인증을 진행했을 때 발생하는 이벤트
public void Profile_OnMigrateAnonymous(object sender, ProfileMigrateEventArgs args) { //Anonymous User에 대한 Identifier를 삭제합니다. Cookie에서 Anonymous에 대한 정보가 삭제됩니다. AnonymousIdentificationModule.ClearAnonymousIdentifier(); }
- AnonymousIdentification_Creating: Anonymous User가 생성되는 시점에 발생하는 이벤트. 즉 Anonymous User의 Guid가 생성되는 시점에 실행됩니다. 하지만 이 때 Anonymous User를 위한 aspnet_Users가 DB에 생성되는 것은 아니니 참고바랍니다.
public void AnonymousIdentification_Creating(object sender, AnonymousIdentificationEventArgs args) { //Anonymous User의 GUID를 강제할 당 해줄 수 있습니다. args.AnonymousID = "4fe6bc00-03fc-42b3-a194-778f2baf6883"; }
'개발 > .NET' 카테고리의 다른 글
[.net] c# Dictionary 사용법 (0) | 2015.11.04 |
---|---|
[.net] C# 보안 권장 사항 (0) | 2015.11.04 |
[.net] Web.config (0) | 2015.11.04 |
[.net] c# ? , ?? (0) | 2015.11.04 |
[.net] visual studio 단축키 (0) | 2015.11.02 |
Comments