asp.net的执行步骤
1.IIS接收到客户请求
2. IIS把请求交给aspnet_isapi.dll处理
3.(如果是第一次运行程序)装载bin目录中的dll
4.(如果是第一次运行程序)读取各级webconfig中的配置
5.(如果是第一次运行程序)编译装载global.asax,初始化HttpApplication实例
6.创建响应请求的HttpContext
7.创建承载响应结果的HttpTextWriter
8.找到合适的HttpHandler(asp.net页面),处理http请求
9.处理session,异常
10.把处理结果反馈个客户
当HttpApplication实例创建后,
会调用InitModules()方法,
这个方法会根据webconfig文件中的配置调用相应的HttpModule
这就是可定制的HttpModule
页请求:页请求发生在页生命周期开始之前。当用户请求一个页面,ASP.NET将确定是否需要分析或者编译该页面,或者是否可以在不运行页的情况下直接请求缓存响应客户端。
开始:发生请求后,页面就进入了初始化阶段。在该阶段,页面将确定请求是否发回请求还是新的客户端请求,并设置IsPostBack属性。
初始化:在页面开始后,进入初始化阶段。初始化期间,页面可以使用服务器控件,并为每个服务器控件进行初始化。
加载:页面加载控件。
验证:调用所有的验证程序控件的vailidate方法,来设置各个验证程序控件和页的属性。
回发事件:如果是回发请求,则调用所有事件处理的程序。
呈现:在呈现期间,视图状态被保存并呈现到页。
卸载:完全呈现页面后,将页面发送到客户端并准备丢弃时,将调用卸载。
url重写就是把一些类似article.aspx?id=28的路径
重写成 article/28/这样的路径
当用户访问article/28/的时候
我们通过asp.net把这个请求重定向到article.aspx?id=28路径