声明:这里以未经过预编译的无项目文件的网站为例.
第一次请求
由相应语言的编译器根据CLS(公共语言规范)将代码编译为IL(中间代码).
第一次执行
由CLR(公共语言运行时)编译成兼容于你网站所在主机的机械代码.这个过程被称为JIT(just in time)即时编译.
注明:编译在代码未改变前都只执行一次,机械代码会被缓存在:c:/windows/microsoft.net/framework/v2.0.50727/temporary asp.net files 下面,只有再代码内容改变后才会再次执行编译.
页面流程:
1.页面框架初始化
对应事件:page.init
执行内容:asp.net初始化页面,在这里创建页面对象和控件对象,如果是回送,则还会反序列化视图状态.
2.页面代码初始化
对应事件:page.onload
执行内容:可以在这个阶段进行一些初始化操作,如动态绑定控件数据.
3.验证
对应事件:验证控件事件
执行内容:验证内容
4.事件处理
对应事件:asp.net捕获的页面回送事件.
执行内容:事件处理程序.
5.预呈现.
对应事件:page.prerender
执行内容:视图状态貌似就是在这里序列化的.
6.清除
对应事件:page.unload,page.disposed
执行内容:在这里清楚页面对象,释放内存资源.
注:在每个过程中对页面的操作,体现在对页面对象的操作,页面对象体现实际页面.