공지
ASP.NET
ASP.NET
- DB connection-oriented: Reader(SqlDataReader), Command를 이용
- DB connectionless : DataSet (DataTable,..), Adapter로 채워준다
- http://blog.naver.com/iammida?Redirect=Log&logNo=60041452924
ASP Control lifetime
ASP.NET 페이지 요청시 처리 과정 (http://blog.naver.com/ngmaster/120039945747)
1. Init (초기화)
- 페이지 개체 생성 직후 단계입니다.
- ViewState값이 복구 전이기 때문에 정확한 컨트롤의 속성값은 참조할 수 없습니다.
- 이벤트 매핑 또는 컨트롤 동적 처리 등등을 처리할 수 있습니다.
2. LoadViewState (뷰 상태 로드)
- PostBack 요청에 의한 ViewState 값을 페이지 개체에 로드시킵니다.
- PostBack이 발생하지 않으면 이 이벤트도 발생하지 않습니다.
3. Load (로드)
- 웹폼 로드 이벤트로 초기 작업이 가장 많은 위치입니다.
4. RaisePostDataChangedEvent (PostBack 변경 알림 보내기)
- 현재 및 이전 게시 간의 상태 변경에 응답하여 변경 이벤트가 발생합니다.
- 게시 변경 이벤트를 발생시키는 컨트롤만 이 단계를 수행합니다. (button, textBox등등)
5. RaisePostBackEvent (PostBack 이벤트 처리)
- 사용자가 발생시킨 이벤트 처리 단계입니다.
- 페이지가 처음 요청될 때는 이 단계를 생략합니다. (IsPostBack이 false일때)
- 게시 변경 이벤트를 발생시키는 컨트롤만 이 단계를 수행합니다. (button, textBox등등)
6. PreRender (사전 렌더링)
- 컨트롤을 랜더링하기 바로 전 단계입니다.
- 처리 순서로 인해 발생하는 논리 문제를 해결하기 위해 Load에서 해야할 처리를 여기서 대신 처리할 수 있습니다.
7. SaveViewState (뷰 상태 저장)
- 현재 페이지 개체의 각 컨트롤의 내용을 ViewState로 저장합니다.
8. Render (렌더링)
- 현재 페이지 개체의 각 컨트롤의 내용을 렌더링해서 출력 버퍼에 기록합니다.
- 서버 컨트롤을 출력할 HTML로 랜더링 하는 단계입니다.
9. Dispose (삭제)
- 컨트롤을 삭제하기 전에 최종 정리를 수행합니다.
- 데이터베이스 연결과 같은 비용이 많이 드는 리소스에 대한 참조는 이 단계에서 해제되어야 합니다.
10. UnLoad (언로드)
- 컨트롤을 삭제하기 전에 최종 정리를 수행합니다.
- CleanUp Code 처리를 하며 리소스를 반환합니다.
- ViewState 처리는 여기서 하지 않습니다.
- 일반적으로 컨트롤을 만든 이는 Dispose에서 정리를 수행하므로 이 이벤트를 처리하지 않습니다.
- !PostBack
- Page_init
- Page_Load
- Page_PreRender
- Page_SaveStateComplete
- Page_Render ( before base.Render()
- PostBack
- Page_init
- Page_Load
- Page_PreRender
- Page_Load
- Button1_Click (PostBack event)
- Page_PreRender
- Page_SaveStateComplete
- Page_Render ( before base.Render()
- http://blog.naver.com/ngmaster/120039984892