IIS在将Tcp/IP的请求发送到服务器端Asp.Net应用程序的处理过程

来源:互联网 发布:数学教学软件 编辑:程序博客网 时间:2024/05/05 10:19

1. IIS在接收到页面请求消息后,将urlport信息转换成物理路径,取得物理路径文件的后缀名,如果是静态页面,则直接通过IIS打开,如果是动态页面则使用不同的处理程序打开。如果是asp.net文件,被inetinfo.exe截获,然后转交给aspnet_asapi.dll进程,然后通过HttpPipeLine管道传送给aspnet_wp.exe进程,接下来到了HttpRunTime处理中心。

2. 在HttpRunTime处理中心,将请求的报文和报文的数据生成一个HttpWorkerRequest对象。

3. HttpRunTime调用HttpApplicationFactory的静态方法生成一个HttpApplication对象。为每一个请求创建单独的HttpApplication对象,使用HttpApplication池进行管理。

4. HttpApplication对象生成HttpContext对象,HttpContext对象保存了两个最重要的对象HttpRequest对象和HttpResponse对象。HttpRequst对象里面保存了浏览器类型、数据量大小、Request.FormRequest.QueryString等重要信息。HttpResponse对象封装了一个StreamWriter用于向浏览器写数据。

在HttpApplication对象中处理Http请求,这个Http请求会依次进入到如下几个容器中:HttpModule--> HttpHandler Factory --> HttpHandler。当系统内部的HttpHandler的ProcessRequest方法处理完毕之后,整个HttpRequest就被处理完成了,客户端也就得到相应的结果了。
原创粉丝点击