>

请求处理过程比较www.bifa688.com,请求处理过程说

- 编辑:www.bifa688.com -

请求处理过程比较www.bifa688.com,请求处理过程说

IIS柒 站点运维并管理请求的步子如下图:

原文:

ASP.NET是一个不胜强劲的营造Web应用的平台,它提供了偌大的灵活性和力量以至于能够用它来构建具备品种的Web应用。
绝大多数的人只纯熟高层的框架如: WebForms 和 Web瑟维斯s --这几个都在ASP.NET等级次序结构在最高层。

  步骤 1 到 陆 ,是拍卖利用运维,运行好后,现在就没有必要再走那么些手续了。

ASP.NET是四个充裕强大的构建Web应用的阳台,它提供了庞大的八面驶风和才具以至于能够用它来创设具有品类的Web应用。
繁多的人只熟知高层的框架如: WebForms 和 Web瑟维斯s --那个都在ASP.NET档次结构在最高层。

那 篇文章的材料搜聚整理自各样微软公然的文书档案,通过比较 IIS五、IIS陆、IIS7那3代 IIS 对请求的管理进程, 让大家熟习 ASP.NET的最底层机制 并对请求(request)是怎么从Web服务器传送到ASP.NET运维时有所精通。通过对底层机制的询问,能够让我们对 ASP.net 有越来越深的精晓。

www.bifa688.com 1

那篇文章的材料搜集整理自种种微软公然的文书档案,通过比较 IIS五、IIS陆、IIS7那叁代 IIS 对请求的管理进度, 让大家纯熟 ASP.NET的平底机制 并对请求(request)是怎么从Web服务器传送到ASP.NET运维时有所领悟。通过对底层机制的垂询,能够让我们对 ASP.net 有越来越深的驾驭。

IIS 5 的 ASP.net 请求管理进程

  上图的七个步骤分别如下:

IIS 5 的 ASP.net 请求管理进度

www.bifa688.com 2

  1. 当客户端浏览器开始HTTP 请求3个WEB 服务器的财富时,HTTP.sys 拦截到那个请求。
  2. HTTP.sys contacts WAS to obtain information from the configuration store.
  3. WAS 向配置存款和储蓄中央呼吁配置音信。applicationHost.config。
  4. WWW 服务接受到布置音讯,配置消息指类似利用程序池配置音信,站点布局音讯等等。
  5. WWW 服务使用布置新闻去安排 HTTP.sys 管理政策。
  6. WAS starts a worker process for the application pool to which the request was made.
  7. The worker process processes the request and returns a response to HTTP.sys.
  8. 客户端接受四管理结果新闻。

www.bifa688.com 3

对图的分解:

  W3WP.exe 进度中又是假如拍卖得啊?? IIS 7的运用程序池的托管管道方式分三种: 卓越和合并。 那三种情势下管理政策各不相通。

对图的解说:

IIS 伍.x 2个眼看的表征就是 Web Server 和真正的 ASP.NET Application 的分开。作为 Web Server 的IIS运转在二个名称为 InetInfo.exe 的经过上,InetInfo.exe 是一个Native Executive,并不是2个托管的主次,而小编辈真正的 ASP.NET Application 则是运转在三个称作 aspnet_wp 的 Worker Process 下面,在该进程开端化的时候会加载CLENVISION,所以那是3个托管的条件。

  本文小编:郭红俊

IIS 5.x 二个驾驭的特征正是 Web Server 和实在的 ASP.NET Application 的分别。作为 Web Server 的IIS运维在一个名叫 InetInfo.exe 的历程上,InetInfo.exe 是三个Native Executive,并不是二个托管的顺序,而小编辈真的的 ASP.NET Application 则是运转在多个叫作 aspnet_wp 的 Worker Process 下边,在该进程初阶化的时候会加载CL兰德酷路泽,所以那是三个托管的条件。

ISAPI:  指能够管理各样后缀名的应用程序。 ISAPI 是下面单词的简写 :Internet Server Application Programe Interface,互连网服务器应用程序接口。

  IIS 6 以及 IIS7 卓绝形式的托管管道的架构

ISAPI:  指能够处理种种后缀名的应用程序。 ISAPI 是上边单词的简写 :Internet Server Application Programe Interface,网络服务器应用程序接口。

IIS 伍 形式的特色:

  在IIS7在此之前,ASP.NET 是以 IIS ISAPI extension 的办法外加到 IIS,其实包罗 ASP 以及 PHP,也都以平等的点子安插(PHP 在 IIS 选择了两种配备方式,除了 IIS ISAPI extension 的主意,也囊括了 CGI 的秘诀,系统官员能选取 PHP 程序的实践办法),由此客户端对 IIS 的 HTTP 请求会先经过 IIS 管理,然后 IIS 依据供给的开始和结果类型,固然是 HTML 静态网页就由 IIS 自行管理,假若不是,就依赖须要的剧情类型,分派给各自的 IIS ISAPI extension;借使须要的从头到尾的经过类型是 ASP.NET,就分派给负担处理ASP.NET 的 IIS ISAPI extension,也正是 aspnet_isapi.dll。下图是以此架构的暗暗表示图。

IIS 伍 方式的特征:

一、 首先,同一台主机上在同一时间只可以运营三个 aspnet_wp 进度,每一个基于虚拟目录的 ASP.NET Application 对应二个 Application Domain ,也便是说各种 Application 都运作在同三个 Worker Process 中,Application之间的隔开是依附 Application Domain 的,而不是基于Process的。

  IIS  7 应用程序池的 托管管道方式  出色  形式也是如此的劳作规律。 那种方式是包容IIS 6 的办法, 以调整和收缩晋级的资金。

壹、首先,同一台主机上在同近日间只可以运维3个 aspnet_wp 进程,每一个基于虚拟目录的 ASP.NET Application 对应三个 Application Domain ,也正是说各样 Application 都运维在同3个 Worker Process 中,Application之间的割裂是依照 Application Domain 的,而不是依据Process的。

2、其 次,ASP.NET  ISAPI 不但担任成立 aspnet_wp Worker Process,而且担当监督该进度,倘若检查测试到 aspnet_wp 的 Performance 下跌到有些设定的下限,ASP.NET  ISAPI 会担当甘休掉该进程。当 aspnet_wp 停止掉之后,后续的 Request 会导致ASP.NET ISAPI 重新创立新的 aspnet_wp Worker Process。

www.bifa688.com 4

二、其次,ASP.NET  ISAPI 不但肩负成立 aspnet_wp Worker Process,而且担当监督该进度,若是检查实验到 aspnet_wp 的 Performance 下降到某些设定的下限,ASP.NET  ISAPI 会担当结束掉该进程。当 aspnet_wp 甘休掉之后,后续的 Request 会导致ASP.NET ISAPI 重新创制新的 aspnet_wp Worker Process。

三、 最终,由于 IIS 和 Application 运维在他们分别的历程中,他们中间的通讯必须采用一定的通讯机制。本质上 IIS 所在的 InetInfo 进程和 Worker Process 之间的通讯是同样台机械区别进度的通讯(local interprocess communications),处于Performance的设想,他们中间利用基于Named pipe的通讯机制。ASP.NET ISAPI和Worker Process之间的通讯通过她们中间的一组Pipe达成。同样处于Performance的缘故,ASP.NET ISAPI 通过异步的法子将Request 传到Worker Process 并获得 Response,可是Worker Process 则是透过共同的点子向 ASP.NET ISAPI 获得部分基于 Server 的变量。

  IIS六 的进行架构图,以及 IIS7  应用程序池配置成优异格局的推行框架结构图

三、最终,由于 IIS 和 Application 运营在她们各自的经过中,他们中间的通讯必须采取一定的通讯机制。本质上 IIS 所在的 InetInfo 进度和 Worker Process 之间的通讯是同样台机器分歧进度的通讯(local interprocess communications),处于Performance的考虑,他们中间利用基于Named pipe的通讯机制。ASP.NET ISAPI和Worker Process之间的通讯通过她们之间的1组Pipe达成。同样处于Performance的原故,ASP.NET ISAPI 通过异步的点子将Request 传到Worker Process 并赢得 Response,不过Worker Process 则是透过共同的主意向 ASP.NET ISAPI 得到部分基于 Server 的变量。

 

你只怕感兴趣的小说:

  • ASP.NET在IIS七中上下文中不可用的解决方式
  • Win200玖 server IIS柒 设献身份模拟(ASP.NE提姆personation)
  • IIS7 配置齐全(ASP.NET 2.0, WCF, ASP.NET MVC,php)
  • 让Win二〇〇九 IIS七 ASP.NET扶助八万并发请求
  • asp.net iis七暗中同意文档错误相当的缓慢解决措施
  • win7和win200八r二下布署IIS7(ASP.net运营条件)
  • Win7智行版中的IIS7配置asp.net的运维景况
  • IIS七.5 质量评定到在合龙的托管管道情势下不适用的 ASP.NET设置
  • 行使ASP.NET操作IIS七中应用程序

 

IIS六 的 ASP.net 请求处理进程

IIS六 的 ASP.net 请求管理进度

www.bifa688.com 5

www.bifa688.com 6

对图的表明:

对图的解释:

IIS 5.x 是透过 InetInfo.exe 监听 Request 并把Request分发到Work Process。换句话说,在IIS 5.x中对Request的监听和分发是在User Mode中开展,在IIS 6中,那种专业被移植到kernel Mode中展开,全数的那一切都是通过一个新的组件:http.sys 来担任。

IIS 5.x 是通过 InetInfo.exe 监听 Request 并把Request分发到Work Process。换句话说,在IIS 5.x中对Request的监听和分发是在User Mode中展开,在IIS 六中,那种职业被移植到kernel Mode中进行,全数的这一切都以通过贰个新的机件:http.sys 来负担。

注:为了幸免用户应用程序访问如故涂改重视的操作 系统数据,windows提供了二种管理器访问形式:用户格局(User Mode)和基本方式(Kernel Mode)。一般地,用户程序运行在User mode下,而操作系统代码运维在Kernel Mode下。Kernel Mode的代码允许访问具备系统内部存款和储蓄器和有着CPU指令。

注:为了防止用户应用程序访问依然修改首要的操作系统数据,windows提供了二种管理器访问形式:用户格局(User Mode)和水源情势(Kernel Mode)。一般地,用户程序运转在User mode下,而操作系统代码运营在Kernel Mode下。Kernel Mode的代码允许访问具备系统内部存款和储蓄器和有着CPU指令。

在User Mode下,http.sys接收到一个依据 aspx 的http request,然后它会基于IIS中的 Metabase 查看该基于该 Request 的 Application 属于哪个Application Pool, 若是该Application Pool不存在,则开创之。不然直接将 request 发到对应Application Pool 的 Queue中。

在User Mode下,http.sys接收到多少个根据 aspx 的http request,然后它会基于IIS中的 Metabase 查看该基于该 Request 的 Application 属于哪个Application Pool, 假若该Application Pool不设有,则创制之。不然直接将 request 发到对应Application Pool 的 Queue中。

各种 Application Pool 对应着一个Worker Process:w三wp.exe,毫无疑问他是运维在User Mode下的。在IIS Metabase 中维护着 Application Pool 和worker process的Mapping。WAS(Web Administrative service)依据那样三个mapping,将设有于有些Application Pool Queue的request 传递到对应的worker process(要是未有,就创办这样1个进程)。在 worker process 初阶化的时候,加载ASP.NET ISAPI,ASP.NET ISAPI 进而加载CL奥迪Q7。最终的流水生产线就和IIS 伍.x一样了:通过AppManagerAppDomainFactory 的 Create方法为 Application 创立1个Application Domain;通过 ISAPIRuntime 的 ProcessRequest管理Request,进而将流程进入到ASP.NET Http Runtime Pipeline。

各个 Application Pool 对应着三个Worker Process:w三wp.exe,毫无疑问他是运作在User Mode下的。在IIS Metabase 中爱惜着 Application Pool 和worker process的Mapping。WAS(Web Administrative service)依照那样2个mapping,将设有于有些Application Pool Queue的request 传递到相应的worker process(如若未有,就创设那样叁个历程)。在 worker process 伊始化的时候,加载ASP.NET ISAPI,ASP.NET ISAPI 进而加载CL福特Explorer。最终的流程就和IIS 伍.x同样了:通过AppManagerAppDomainFactory 的 Create方法为 Application 创设2个Application Domain;通过 ISAPIRuntime 的 ProcessRequest管理Request,进而将流程进入到ASP.NET Http Runtime Pipeline。

 

 

IIS 7  的 ASP.net 请求管理进度

IIS 柒  的 ASP.net 请求管理过程

 

 

IIS7 站点运营并拍卖请求的步调如下图:

IIS7 站点运维并管理请求的步骤如下图:

手续 一 到 6 ,是管理利用运转,运维好后,以往就无需再走这一个手续了。

手续 一 到 ⑥ ,是拍卖利用运转,运转好后,以往就没有须要再走那个手续了。

www.bifa688.com 7

www.bifa688.com 8

上海体育场面的8个步骤分别如下:

上航海用教室的九个步骤分别如下:

一、当客户端浏览器开首HTTP 请求一个WEB 服务器的财富时,HTTP.sys 拦截到那些请求。
2、HTTP.sys contacts WAS to obtain information from the configuration store.

一、当客户端浏览器伊始HTTP 请求2个WEB 服务器的能源时,HTTP.sys 拦截到那个请求。
2、HTTP.sys contacts WAS to obtain information from the configuration store.

三、WAS 向配置存款和储蓄焦点呼吁配置音讯。applicationHost.config。
四、WWW 服务承受到布署新闻,配置新闻指类似利用程序池配置音信,站点布局新闻等等。
五、WWW 服务使用布署消息去布署 HTTP.sys 管理政策。
6、WAS starts a worker process for the application pool to which the request was made.

3、WAS 向配置存款和储蓄宗旨呼吁配置音讯。applicationHost.config。
四、WWW 服务承受到布署音讯,配置音讯指类似利用程序池配置音讯,站点布局新闻等等。
5、WWW 服务应用安插音讯去布署 HTTP.sys 管理政策。
6、WAS starts a worker process for the application pool to which the request was made.

7、The worker process processes the request and returns a response to HTTP.sys.

7、The worker process processes the request and returns a response to HTTP.sys.

八、客户端接受各管理结果音信。

www.bifa688.com,8、客户端接受四管理结果新闻。

W3WP.exe 进度中又是一旦拍卖得吗?? IIS 柒的采用程序池的托管管道情势分二种: 卓绝和集成。 那二种情势下管理政策各不相通。

W3WP.exe 进度中又是若是管理得吧?? IIS 7的行使程序池的托管管道方式分二种: 卓越和购并。 那二种情势下拍卖政策各不相通。

本文小编:郭红俊

本文我:郭红俊

 

 

IIS 陆 以及 IIS七 优秀方式的托管管道的架构

IIS 陆 以及 IIS7 经典方式的托管管道的框架结构

       在IIS七以前,ASP.NET 是以 IIS ISAPI extension 的法子外加到 IIS,其实包罗 ASP 以及 PHP,也都是平等的办法配置(PHP 在 IIS 采取了二种配备格局,除了 IIS ISAPI extension 的点子,也囊括了 CGI 的主意,系统领导能选取 PHP 程序的实践措施),因而客户端对 IIS 的 HTTP 请求会先经过 IIS 管理,然后 IIS 依据须求的内容类型,假使是 HTML 静态网页就由 IIS 自行管理,假若不是,就依靠供给的开始和结果类型,分派给各自的 IIS ISAPI extension;假如要求的内容类型是 ASP.NET,就分派给担负管理ASP.NET 的 IIS ISAPI extension,也正是aspnet_isapi.dll。下图是这么些架构的暗中表示图。

       在IIS7从前,ASP.NET 是以 IIS ISAPI extension 的办法外加到 IIS,其实包含 ASP 以及 PHP,也都是同一的主意配置(PHP 在 IIS 接纳了二种配备格局,除了 IIS ISAPI extension 的秘籍,也包括了 CGI 的章程,系统领导能采纳 PHP 程序的试行措施),因而客户端对 IIS 的 HTTP 请求会先经过 IIS 管理,然后 IIS 根据须求的内容类型,如若是 HTML 静态网页就由 IIS 自行处理,要是还是不是,就凭仗供给的剧情类型,分派给各自的 IIS ISAPI extension;即便须求的内容类型是 ASP.NET,就分派给担负管理ASP.NET 的 IIS ISAPI extension,也正是aspnet_isapi.dll。下图是这些架构的暗中提示图。

IIS  七 应用程序池的 托管管道方式  杰出  形式也是这么的做事原理。 那种模式是兼容IIS 6 的法子, 以压缩晋级的资金。

IIS  七 应用程序池的 托管管道格局  突出  模式也是那般的做事原理。 那种方式是包容IIS 陆 的措施, 以压缩晋级的财力。

www.bifa688.com 9

www.bifa688.com 10

IIS陆 的实践架构图,以及 IIS柒  应用程序池配置成优异方式的施行架构图

IIS6 的实施架构图,以及 IIS7  应用程序池配置成精湛格局的施行架构图

 

 

IIS  7 应用程序池的 托管管道格局  集成情势

IIS  七 应用程序池的 托管管道格局  集成情势

       而 IIS 7 完全结合 .NET 之后,架构的拍卖顺序有了非常的大的不等(如下图),最关键的原因就是 ASP.NET 从 IIS 插件(ISAPI extension)的剧中人物,进入了 IIS 宗旨,而且也能以 ASP.NET 模块肩负管理 IIS 七 的不少种类需要。这个 ASP.NET 模块不只可以处理ASP.NET 网页程序,也能管理任何如 ASP 程序、PHP 程序或静态 HTML 网页,也因为 ASP.NET 的不在少数效果已经济体改为 IIS 七 的1部份,因而 ASP 程序、PHP 程序或静态 HTML 网页等品种的渴求,也能利用像是Forms认证(Forms Authentication)或输出缓存(Output Cache)等 ASP.NET 二.0 的作用(但须修改 IIS 七 的设定值)。也因为 IIS 七 允许自行以 ASP.NET API 开垦并进入模块,因而 ASP.NET 网页开辟人员将更便于扩充 IIS 七和网址应用程序的职能,乃至能自动以 .NET 编写管理 IIS 7的次第(比方以程序调控 IIS 七 以建置网址或虚拟目录)。

       而 IIS 7 完全结合 .NET 之后,架构的管理顺序有了十分的大的分化(如下图),最关键的案由正是 ASP.NET 从 IIS 插件(ISAPI extension)的剧中人物,进入了 IIS 主旨,而且也能以 ASP.NET 模块肩负管理 IIS 7 的重重种类需求。那个 ASP.NET 模块不只好处理ASP.NET 网页程序,也能管理别的如 ASP 程序、PHP 程序或静态 HTML 网页,也因为 ASP.NET 的居多功力已经形成 IIS 七 的1部份,由此 ASP 程序、PHP 程序或静态 HTML 网页等品种的供给,也能选择像是Forms认证(Forms Authentication)或输出缓存(Output Cache)等 ASP.NET 二.0 的功效(但须修改 IIS 七 的设定值)。也因为 IIS 七 允许自行以 ASP.NET API 开拓并进入模块,由此 ASP.NET 网页开辟职员将更便于扩张 IIS 7和网址应用程序的效率,乃至能自动以 .NET 编写管理 IIS 7的程序(举例以程序调整 IIS 7 以建置网址或虚拟目录)。

www.bifa688.com 11

www.bifa688.com 12

IIS 柒 的实施架构图(集成托管信道情势下的架构)

IIS 7 的奉行架构图(集成托管信道格局下的框架结构)

 

 

小结

小结

IIS5 到 IIS6 的改进,主要是 HTTP.sys 的改进。

IIS5 到 IIS6 的改进,主要是 HTTP.sys 的改进。

IIS6 到 IIS7 的改进,主要是 ISAPI 的改进。

IIS6 到 IIS7 的改进,主要是 ISAPI 的改进。

 

 

参照他事他说加以考查资料:

 

ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI

ASP.NET Internals – IIS and the Process Model

模组化的IIS ⑦ 与.NET 技能构成

Introduction to IIS 7.0 Architecture

本文由bifa688.com发布,转载请注明来源:请求处理过程比较www.bifa688.com,请求处理过程说