소프트웨어/C# & ASP.NET

ASP.NET 페이지 요구시 처리 과정

falconer 2008. 9. 11. 08:57

ASP.NET 페이지 요구시 처리 과정
 - *.aspx
 - 클라이언트가 특정 페이지를 요구할 때마다 메모리 상에 페이지 객체는 생성, 소멸까지 일련의 과정을 거친다.

1. Init
 - 페이지 객체가 생성된 후 초기화 단계
 - 뷰스테이트 값 복구 전 단계, 저확한 컨트롤 참조 불확실
 - 이벤트 핸들러 매칭이나, 컨트롤 동적 로딩에 적합

2. ViewState복구
 - 뷰스테이트 복구 단계
 - 페이지 처음 요청시 건너뜀

2.5 다시 게시된 데이터 처리
 - 들어오는 폼 데이터를 처리하고, 그에 알맞게 속성을 업데이트합니다.
 - 다시 게시된 데이터를 처리하는 컨트롤만 이 단계를 수행합니다.

3. Load **
 - 뷰스테이트 값이 복구가 완료된 단계
 - 서버 큰트롤에 접근 가능(정확한 값을 가지고 있는 상태)
 - 모든 컨트롤이 탑재되고 값이 복구된 상태
 - 가장 많이 코딩하는 장소

4. PostBack 이벤트 처리 **
 - 사용자가 발행한 이벤트 처리 단계
 - 페이지가 처음 요청될 때는 이 단계는 건너뜀(IsPostBack이 false일때)

5. PreRender
 - 컨트롤을 랜더링하기 바로 전 단계
 - 처리 순서로 인해 발생하는 논리 문제를 해결하기 위해 Load해서 해야할 처리를 여기서 대신 가능

5.5 ViewState 저장
 - 컨트롤의 상태를 저장, 클라이언트에게 되돌려줌

6. Render
 - 컨트롤을 출력할 HTML로 랜더링 하는 단계

7. UnLoad
 - 페이지 객체가 소멸되기 전에 발생하는 단계
 - 페이지 요청시 항상 실행된다.(try-catch에서 finally처럼)
 - 클린업 코드 처리(리소스 반환)
 - 뷰스테이트 처리는  여기서 안함(아무 소용 X)


출처 : http://no1power.tistory.com/42