ASP.NET Web Forms — Page Life Cycle, ViewState, Controls and State Management
Page life cycle
PreInit → Init → InitComplete → (LoadViewState, LoadPostData) → PreLoad → Load → control events → LoadComplete → PreRender → SaveStateComplete → Render → Unload.
Application pipeline
BeginRequest → Authenticate → Authorize → ResolveRequestCache → AcquireRequestState → PreRequestHandlerExecute → handler (Page) → PostRequestHandlerExecute → ReleaseRequestState → UpdateRequestCache → EndRequest.
State options
Page: ViewState/ControlState/hidden field · request: query string · browser: cookies · user: Session (InProc/StateServer/SQL/Redis) · all users: Application/Cache.
Folders & files
App_Code · App_Data · App_Start · App_Themes · App_GlobalResources · bin · .aspx + .aspx.cs + .designer.cs · .master · .ascx · .ashx · Global.asax · Web.config (+ transforms).
Errors
try/catch → Page_Error → Application_Error (log) → customErrors/httpErrors (friendly pages) · never debug="true" or customErrors="Off" in production.