友情链接
 
首页 > 技术服务 > 服务资讯 > IIS 7.0与ASP.NET
 服务资讯内容
IIS 7.0与ASP.NET
2010/6/8 18:17:36

       IIS 7.0对请求的监听和分发机制上又进行了革新性的改进,主要体现在对于Windows进程激活服务(Windows Process Activation Service,WAS)的引入,将原来(IIS 6.0)W3SVC承载的部分功能分流给了WAS。
具体来说,通过上面的介绍,我们知道对于IIS 6.0来说,W3SVC主要承载着三大功能:

HTTP请求接收:接收HTTP.SYS监听到的HTTP请求;
配置管理:从元数据库(Metabase)中加载配置信息对相关组件进行配置;
进程管理:创建、回收、监控工作进程。
       在IIS 7.0,后两组功能被移入WAS中,接收HTTP请求的任务依然落在W3SVC头上。WAS的引入为IIS 7.0一项前所未有的特性:同时处理HTTP和非HTTP请求。在WAS中,通过一个重要的接口:监听器适配器接口(Listener Adapter Interface)抽象出不同协议监听器监听到的请求。至于IIS下的监听器,除了基于网络驱动的HTTP.SYS提供HTTP请求监听功能外,WCF提供了3种类型的监听器:TCP监听器、命名管道(Named Pipes)监听器和MSMQ监听器,分别提供了基于TCP、命名管道和MSMQ传输协议的监听功能。与此3种监听器相对的,是3种监听器适配器(Adapter)提供监听器与监听器适配器接口之间的适配。从这个意义上讲,IIS 7.0中的W3SVC更多地为HTTP.SYS起着监听适配器的功能。WCF提供的这3种监听器和监听适配器定义在程序集SMHost.exe中,你可以通过下面的目录找到该程序集:%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundatio。
        WCF提供的这3种监听器和监听适配器最终以Windows Service的形式体现,虽然它们定义在一个程序集中,我们依然通过服务工作管理器(SCM,Service Control Manager)对其进行单独的启动、终止和配置。SMHost.exe提供了4个重要的Windows Service:
NetTcpPortSharing:为WCF提供TCP端口共享,关于端口共享;
NetTcpActivator:为WAS提供基于TCP的激活请求,包含TCP监听器和对应的监听适配器;
NetPipeActivator:为WAS提供基于命名管道的激活请求,包含命名管道监听器和对应的监听适配器;
NetMsmqActivator:为WAS提供基于MSMQ的激活请求,包含MSMQ监听器和对应的监听适配器。
上述的4个Windows Service在服务控制管理器(SCM)中的呈现。

IIS 7.0的整体构架以及整个请求处理流程。无论是从W3SVC接收到的HTTP请求,还是通过WCF提供的监听适配器接收到的请求,最终都会传递到WAS。如果相应的工作进程(或者应用程序池)尚未创建,其创建之;否则将请求分发给对应的工作进程进行后续的处理。WAS在进行请求处理过程中,通过内置的配置管理模块加载相关的配置信息对相关的组建进行配置,与IIS 5.x和IIS 6.0基于Metabase的配置信息存储不同的是,IIS 7.0大都将配置信息存放于XML形式的配置文件中。基本的配置存放在applicationHost.cofig中。


上一篇:
下一篇:IIS 6与ASP.NET
 
    培训通知 | 联系一江 | 网站地图 ©   1999-2010      河南一江企划(软件)有限公司 He nan e Jiang Enterprise(soft) CO.,LTD