-
.net 수명주기ASP.NET/.NET 프레임워크 2022. 4. 24. 21:24
[ 일반적인 수명주기 단계 ]
- Page Request - 페이지 요청
=> 사용자의 요청을 통해 페이지를 컴파일하고 페이지 주기를 시작할 지의 여부를 결정 - Start - 시작
=> Request, Response와 같은 속성을 설정하고 페이지 요청이 PostBack인지를 확인하여 IsPostBack속성,
UICulture 속성 설정 - Initialization - 페이지 초기화
=> 페이지 Control들을 사용할 수 있으며, 각 Control의 UniqueID가 설정된다.
=> ViewState로부터 값들이 아직 Control속성에 복원되지 않은 상태 - Load - 로드
=> 로드가 되는 동안 PostBack인 경우에 Control속성값들이 ViewState와 ControlState로부터 데이터가 복원 - Postback event handling - 포스트백 이벤트 처리, 유효성 검사
=> 요청이 PostBack인 경우에 Control이벤트 핸들러가 호출이 된다.
=> 그 이후 모든 Control의 Validate메소드가 호출이 되고, 모든 Page와 Control에 있는 IsValid라는 속성 값이 설정된다. - Rendering - 렌더링
=> 렌더링 전에 페이지와 Control을 위한 ViewState가 저장이 된다.
=> 모든 Control마다 Render메소드가 수행이 되고 OutputStream을 통해 Response를 작성한다. - Unload - 언로드
=> 페이지가 완전히 렌더링되어 클라이언트까지 전달되면 언로드가 호출.
=> Response와 Request와 같은 속성값을 완전히 정리.
[수명주기 이벤트]
- PreInit - PreInit는 페이지 수명 주기의 첫 번째 이벤트입니다. IsPostBack 속성을 확인하고 페이지가 포스트백인지 여부를 결정합니다. 테마 및 마스터 페이지를 설정하고, 동적 컨트롤을 생성하고, 프로필 속성 값을 가져오고 설정합니다. 이 이벤트는 OnPreInit 메서드를 오버로드하거나 Page_PreInit 처리기를 만들어 처리할 수 있습니다.
- Init - Init 이벤트는 컨트롤 속성을 초기화하고 컨트롤 트리를 만듭니다. 이 이벤트는 OnInit 메서드를 오버로드하거나 Page_Init 처리기를 만들어 처리할 수 있습니다.
- InitComplete - InitComplete 이벤트를 통해 보기 상태를 추적할 수 있습니다. 모든 컨트롤은 보기 상태 추적을 켭니다.
- LoadViewState - LoadViewState 이벤트를 통해 보기 상태 정보를 컨트롤에 로드할 수 있습니다.
- LoadPostData - 이 단계에서 모든 입력 필드의 내용이 <form> 태그로 정의되어 처리됩니다.
- PreLoad 로드 - 사전 로드는 포스트백 데이터가 컨트롤에 로드되기 전에 발생합니다. 이 이벤트는 OnPreLoad 메서드를 오버로드하거나 Page_PreLoad 처리기를 만들어 처리할 수 있습니다.
- Load - 먼저 페이지에 대해 Load 이벤트가 발생한 다음 모든 자식 컨트롤에 대해 재귀적으로 발생합니다. 컨트롤 트리의 컨트롤이 생성됩니다. 이 이벤트는 OnLoad 메서드를 오버로드하거나 Page_Load 처리기를 만들어 처리할 수 있습니다.
- LoadComplete - 로드 프로세스가 완료되고 제어 이벤트 핸들러가 실행되며 페이지 유효성 검사가 수행됩니다. 이 이벤트는 OnLoadComplete 메서드를 오버로드하거나 Page_LoadComplete 처리기를 만들어 처리할 수 있습니다.
- PreRender - 출력이 렌더링되기 직전에 PreRender 이벤트가 발생합니다. 이 이벤트를 처리함으로써 페이지와 컨트롤은 출력이 렌더링되기 전에 업데이트를 수행할 수 있습니다.
- PreRenderComplete - PreRender 이벤트가 모든 자식 컨트롤에 대해 재귀적으로 발생하므로 이 이벤트는 사전 렌더링 단계의 완료를 보장합니다.
- SaveStateComplete - 페이지의 제어 상태가 저장됩니다. 개인화, 제어 상태 및 보기 상태 정보가 저장됩니다. HTML 마크업이 생성됩니다. 이 단계는 Render 메서드를 재정의하거나 Page_Render 처리기를 만들어 처리할 수 있습니다.
- UnLoad - UnLoad 단계는 페이지 수명 주기의 마지막 단계입니다. 모든 컨트롤에 대해 재귀적으로 그리고 마지막으로 페이지 자체에 대해 UnLoad 이벤트를 발생시킵니다. 최종 정리가 완료되고 데이터베이스 연결과 같은 모든 리소스와 참조가 해제됩니다. 이 이벤트는 OnUnLoad 메서드를 수정하거나 Page_UnLoad 처리기를 만들어 처리할 수 있습니다.
'ASP.NET > .NET 프레임워크' 카테고리의 다른 글
linq (0) 2022.05.01 Infragistics - Grid 기본 (0) 2022.03.04 List<T> 클래스 (0) 2022.03.02 C# - Linq (0) 2022.02.28 postback, viewstate, runat (0) 2022.02.28 - Page Request - 페이지 요청