1、浏览器向服务器发送请求报文,服务器端的软件比如是IIS,接受请求
2、IIS通过aspnet_isapi.dll 这个程序集来请求FrameWork中的ASP.Net框架,这是对于集成模式
3、进入框架中,首先调用IsapiRunTime 的ProcessRequest();
4、然后再调用HTTPRuntime的 ProcessRequest(),在方法中创建Http上下文对象 HttpContext, 这个上下文对象很重要,因为在下面调用管道事件时,他是负责通信的。
5、然后再通过HttpApplicationFactory 这个工厂类,创建一个HttpApplication对象,
负责处理执行被请求的页面
6、调用HttpApplication对象的ProcessRequest(HttpContext Context)
然后执行asp.net的请求管道事件,依次调用24个事件
7、在第8个事件中创建被请求的页面对象index_aspx()
8、在第11个与12事件之间调用第8个事件中创建的页面对象的ProcessRequest(HttpContext Context) ,如果请求的是ashx页面,则执行程序员写的代码,里面会有context.Request
与context.Response 执行服务器的请求处理与响应处理,
如果请求的是aspx页面,则会执行页面生命周期(也是一堆的事件),其中会执行Page_Lode()
事件,然后才会执行生成前台html的方法,所以在aspx中,前台类是继承后台类的,
9、在第19个事件中根据HttpContext里面的ResPonse生成响应报文字符串,来响应给浏览器
下面附上整体运行的结构图: