出自一位叫做
Ivony的网友,似乎就是CSDN上的
首先是IIS接收到请求,让后把它发给 ASP.NET。
ASP.NET干的第一件事情是创建HttpContext对象。
然后,HttpApplication开始接管。
首先是触发BeginRequest事件。
然后身份验证
再然后授权
再然后创建State,也就是Session。
然后是缓存等策略。
然后执行IHttpHandler,一般是Page。
那么现在控制权交给了Page
如果aspx文件还没有被编译,那么就会先编译成一个Page类。
Page先触发PreInit事件
然后应用Themes
然后还原所有控件的ViewState,触发Init事件,触发所有控件的Init事件。
然后触发InitComplete事件。
然后触发PreLoad事件。
然后触发Load事件,触发所有控件的Load事件。
然后是LoadComplete
然后是PreRender,触发所有控件的PreRender事件。
再就是PreRenderComplete
然后开始Render HTML代码
最后是Unload,触发所有控件的Unload事件。
然后Page的事情就干完了
交还给HttpApplication。
HttpApplication触发的最后一个事件是EndRequest
这个时候 ASP.NET的工作就干完了
工作交还给IIS。
首先是IIS接收到请求,让后把它发给 ASP.NET。
ASP.NET干的第一件事情是创建HttpContext对象。
然后,HttpApplication开始接管。
首先是触发BeginRequest事件。
然后身份验证
再然后授权
再然后创建State,也就是Session。
然后是缓存等策略。
然后执行IHttpHandler,一般是Page。
那么现在控制权交给了Page
如果aspx文件还没有被编译,那么就会先编译成一个Page类。
Page先触发PreInit事件
然后应用Themes
然后还原所有控件的ViewState,触发Init事件,触发所有控件的Init事件。
然后触发InitComplete事件。
然后触发PreLoad事件。
然后触发Load事件,触发所有控件的Load事件。
然后是LoadComplete
然后是PreRender,触发所有控件的PreRender事件。
再就是PreRenderComplete
然后开始Render HTML代码
最后是Unload,触发所有控件的Unload事件。
然后Page的事情就干完了
交还给HttpApplication。
HttpApplication触发的最后一个事件是EndRequest
这个时候 ASP.NET的工作就干完了
工作交还给IIS。