现在的位置: 首页 > 综合 > 正文

一般处理程序二 整体请求详解

2013年08月11日 ⁄ 综合 ⁄ 共 820字 ⁄ 字号 评论关闭

 

整体请求图详解

 

①浏览器通过网络访问服务器,由服务器软件接受请求。

②服务器软件IIS发现处理不了后缀是ASXH的文件,就通过映射表将请求转给了服务器扩展程序中的一个ASP.NET_ISAPI.DLL的程序。

③可扩展程序只是一个桥梁,又将请求交给网站程序,网站程序调用HttpRuntime的静态方法处理请求。

④有HttpRuntime类完成所有的请求工作

4.1分析请求报文,将请求报文数据封装到一个叫做HttpWorkRequest类对象对应的属性中。

4.2通过调用HttpApplicationFactory类的一个静态方法,创建HttpApplication对象时,每次HttpApplicationFactory都会到HttpApplication池里找,如果没有空闲的HttpApplication对象,将创建新的对象,如果有就直接拿来用。

4.3创建HttpContext对象,此对象是请求上下文的环境,里面包含处理请求的所有参数数据,其中最重要的就是HttpRequestHttpResponse两个类的对象。

4.3.1 HttpRequest主要包含了所有的请求信息,这些信息来源于HttpWorkRequest包含的属性,Form(客户表单数据)QueryString(客户端URL参数)

4.3.2 HttpResponse主要包含了FileStream对象,用来保存页面类执行过程中输出给浏览器的数据。

4.4因为在HttpApplication中里面要运行被请求页面对象里的ProcessRequest方法,所以需要将HttpContext传到HttpApplication中。HttpApplicationProcessRequest方法执行过程中可以看做成一个管道,要先后执行19个委托事件,在执行第8个事件时,创建请求页面类的对象,在第1112个事件之间,执行了被执行页面类的ProcessRequest方法。

 

 

抱歉!评论已关闭.