본문 바로가기
IT-개발,DB

[ASP.NET] ASP.NET Life Cycle

by SB리치퍼슨 2010. 4. 6.

얼마 전 회사에서 옆 직원의 책상에 붙여진 ASP.NET Life Cycle 을 보게 되었습니다.

그냥 무턱대고 개발만 했지, 진정으로 중요한 부분을 간과하고 넘어간게 아닌가 하는 생각이 들어서 유심히 바라보게 되었습니다.

 

Life Cycle을 보는 순간 답답하더군요. 모르는게 많구나....

물론 개발할 때 꼭 필요하지 않을 수 있지만, 아는게 좋겠죠?

 

여기저기 찾아본 결과 제가 봤던 건 ASP.NET Life Cycle 이 아니라 컨트롤의 실행 주기라고 하더군요. (같은건가? ;;;)

사용자 정의 서버컨트롤인가? 이거 만들때 유용하게 쓸 수 있습니다.

 

Control Execution Lifecycle

내용은 이렇습니다.

총 11 단계로 구성되어 있고 재정의할 메서드 들이 나와있습니다.

아래 표는 컨트롤 실행 주기의 각 단계에 대한 상위 수준 개요입니다.

 

단계 재정의할 메서드 또는 이벤트
초기화 Init 이벤트(OnInit 메서드)
뷰 상태 로드 LoadViewState 메서드
게시 테이터 처리 LoadPostData 메서드
(IpostBackDataHandler가 구현된 경우)
로드 Load 이벤트
(OnLoad 메서드)
게시 변경 알림 보내기 RaisePostDataChangedEvent 메서드
(IpostBackDataHandler가 구현된 경우)
게시 이벤트 처리 RaisePostBackEvent 메서드
(IpostBackEventHandler가 구현된 경우)
사전 렌더링 PreRender 이벤트
(OnPreRender 메서드)
상태 저장 SaveViewState 메서드
렌더링 Render 메서드
삭제 Dispose 메서드
언로드 UnLoad 이벤트(On UnLoad 메서드)

참고   EventName 이벤트를 재정의하려면, OnEventName 메서드를 재정의하고 기본 OnEventName을 호출합니다.

 

위의 내용은 아마도 MS에 나와 있는 내용 같습니다.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcontrolexecutionlifecycle.asp

 

 

아래는 검색하다보니 한 영문 사이트에 나와 있는 걸 옮겨 놨습니다.

같은 이야기 같은데 설명만 조금 다른것 같습니다.

 

ASP.NET Page Life Cycle

 

1. Object Initialization (페이지 초기화)
   OnInit Method : Controls are initialized based on their declaration.
2. Load ViewState Data (뷰상태의 로딩-Postback)
   When load viewstate is fired, controls are populated with the appropriate view state data.
3. Load PostData Processes Postback Data (포스트백 데이터의 로딩-Postback)
   Unique IDs for each controls
4. Object Load (페이지의 로딩)
   The OnLoad event is an idal location to place logic.
5. Raise PostBack Change Events (상태변경과 관련된 이벤트 발생-Postback)
6. Process Client-Side PostBack Event (포스트백 이벤트 발생-Postback)
   Postback event handling
   The RaisePostDataChanged and RaisePostBackEvent events are defined by the IPostBackDataHandler interface.
7. Prerender the objects (렌더링 준비)
8. ViewState saved (뷰상태저장)
9.Render to HTML 페이지 렌더링
10. Disposal (페이지 자원의 해제-리소스 해제)
11. UnLoad (페이지의 언로드-메모리에서 언로드)

 

 

첨부된 소스는 간단하게 확인 할 수 있도록 만들어 봤는데, 제대로 만든 코드인지 모르겠네요. ^^;

어떻게 실행되는지 참고 하세요.

 

첨부된 그림은 한 인터넷 사이트에서 발견했습니다.

설명이 필요할 것 같은데, 읽어보기 귀찮아서 그냥 그림만 가져왔는데, 난해하군요..ㅎㅎ

 http://hydrate.typepad.com/leo/2004/08/the_aspnet_v20_.html

반응형

댓글