初步谈 asp.net运行原理
1 当用户通过浏览器向服务器发送请求时, 服务器端的IIS接收到请求,一看是.aspx页面,发现这个请求自己不用处理,然后通过映射表把请求交给了一个叫ISAPI.dll的扩展程序,这个扩展程序将请求有交给了framework 。
2在framework中调用了ISAPIRuntime的processRequest方法处理请求,在此方法中,又调用了isapiworkerrequest的CreateWorkeRequest方法,创建了一个WorkerReques对象。并将请求的报文封装到了WorkerRequest这个对象中。
3然后调用了HttpRuntime的processRequest方法,创建了HttpContext(上下文)对象。在这个对象中有两个重要的对象,httpRequest和httpResponse。
其中httpRequest对象中,包含了来自workrequest的请求报文数据。
Httpresponse主要是创建httpwrite,把响应报文写到这个缓存区中。
4 当创建完httpcontext后立马通过HttpApplicationFactory创建HttpApplication对象。调用它的processRequest开始处理请求页面。
5 在处理请求页面中,开始执行19个委托对象(请求管道)。其中第8个事件创建被请求的页面类对象。并转成了IHttPHandler接口对象。
第11-12个事件调用的页面对象的processRequest方法、开始处理请求报文,并通过response.write()先写到这个缓存区中,最后通过workrequeset把响应报文发到浏览器。
只要个人努力了,其他的交给命运吧!!!!

浙公网安备 33010602011771号