众所周知,每个asp.net页面都是一个HttpHandler,并且它也是一个控件。我们来看来它的本身定义。
当IIS处理http的请求时,都会根据请求的文件扩展名来判断,找到对应的ISAPI,ISAPI主要负责与
ASP.NET进程之间进行通信。Asp.net进程会进行一系统初始化工作,比如建立一个HttpRunTime运行
环境,等等一系统的操作,这个原理园子里很多朋友都写了,最终的请求都会找到一个Handler来执行,
我们平时写的asp.net页面就是一个handler,所以它可以处理请求,而这个Handler的入口点就是从
ProcessRequest()方法开始的。
上面说了这么废话,无非就是想说 ProcessRequest()这个方法到底干了些什么”勾当“,我从IL的
角度来重新认识它。
我先列出来Page类中一些非常重要的方法:
我们先从入口处方法进入,先看看
终于讲到重点了。我们先看看
这就是整个Page的从请求到输出整个一系统的执行过程,能过上面的代码能看得出来,Page页面大部分的处理逻辑都在 ProcessRequestMain()方法中,这就是我通过IL再一次看清楚Page的执行过程。希望能更清晰展示出来和大家 一起分享!
下一篇我会再分析一个页面是怎么处理ProcessPostData的.