首页 > 代码库 > Asp.net请求管道

Asp.net请求管道

 

IIS 5.x

iis运行在inetinfo.exe中。

Http请求由inetinfo.exe的W3SVC(万维网公共服务)监听,监听到http请求,读取Metabase配置信息,判断是否静态资源,是则直接Response,否则根据扩展从IIS找到isapi.dll,然后用isapi.dll创建工作进程。IIS与工作进程通过命名管道通讯提升性能。工作进程(Aspnet_wp.exe)初始化时候会加载CLR,CLR对于不同的应用创建不同的AppDomain

技术分享

 

iis6

inetinfo.exe单纯管理iis进程

http.sys独立加入windows服务

W3SVC独立出来

Isapi放入工作进程中

 

技术分享

 

 

iis7

技术分享

  1、当客户端浏览器开始 HTTP 请求一个WEB 服务器的资源时,HTTP.sys 拦截到这个请求。

    2、HTTP.sys 联系 WAS 获取配置信息。

    3、WAS 向配置存储中心(applicationHost.config)请求配置信息。

    4、W3SVC收到配置信息,配置信息指类似应用程序池配置信息,站点配置信息等等。

    5、WWW 服务使用配置信息去配置 HTTP.sys 处理策略。

    6、WAS为请求创建一个进程(如果不存在的话)。

    7、工作者进程处理请求并对HTTP.sys做出响应。

    8、客户端接受到处理结果信息。

 

Asp.net请求管道