您所在的位置: 首页>>开发>>语言&工具>>

WCF宿主与服务托管(5)

http://developer.51cto.com  2008-03-07 10:22  张逸  博客园  我要评论(0)
  • 摘要:WAS是IIS 7.0的一部分,但也可以独立地安装与配置。WAS支持所有可用的WCF传输协议、端口与队列。利用WAS托管服务与IIS宿主托管服务的方法并没有太大的区别,仍然需要创建svc文件,同时在IIS中需要在站点中创建应有程序指向托管应用程序,还可以设置访问服务的别名与应用程序池。
  • 标签:WCF  宿主  服务  托管

则@ServiceHost修改为:

在IIS托管应用程序中,我们需要创建web.config(注意,不是app.config),在节中配置服务的相关内容:

name="BruceZhang.WCF.DocumentsExplorerServiceImplementation.DocumentsExplorerService">
contract="BruceZhang.WCF.DocumentsExplorerServiceContract.

IDocumentsExplorerService" />


注意,这里的配置文件与之前的宿主配置文件有个别的差异,就是没有指定服务的基地址。这是因为IIS托管会自动将svc文件的地址作为服务的基地址,我们无法在配置文件中自行指定。Svc文件的地址为svc文件在IIS虚拟目录或站点所设置的路径。例如,我们在IIS中创建一个虚拟目录DocumentsExplorer指向IIS宿主应用程序DocumentsExplorerIISHost,如图7所示: 

图7:在IIS站点中为IIS创建虚拟目录

如果站点的属性没有做任何修改,使用默认的端口号,以及Localhost,则访问服务的基地址为http://localhost/DocumentsExplorer/HostService.svc。如果在配置文件的服务endpoint中设置地址为DocumentsService,如:

address="DocumentsService"
binding="basicHttpBinding"
bindingConfiguration="DocumentExplorerServiceBinding"
contract="BruceZhang.WCF.DocumentsExplorerServiceContract.IDocumentsExplorerService" />

则公开服务的地址则为http://localhost/DocumentsExplorer/HostService.svc/DocumentsServic

通过IIS启动站点后,不需要做任何操作,服务宿主自动会创建ServiceHost实例或者Factory指定的自定义ServiceHost实例。

由于服务地址发生了变化,因此客户端的配置文件也需要做出相应的修改,必须将服务的地址设置为与之对应的地址。其中,服务的基地址为svc文件在IIS中的地址。

IIS宿主是一种主要的服务托管方式,这是因为它具有易用性、可维护性、安全性、易于部署等多个优势。然而,它却具有一个致命的阿客流斯之踵,那就是它只支持HTTP协议的传输绑定。特别对于局域网场景下,如果使用IIS宿主,就无法利用TCP传输的高效率,甚至无法使用MSMQ以及Peer to Peer传输。

IIS 7.0(基于Windows Vista和Windows Server 2007)提供的Windows激活服务(WAS)突破了IIS 6.0对于HTTP的依赖。

4、WAS宿主

WAS是IIS 7.0的一部分,但也可以独立地安装与配置。WAS支持所有可用的WCF传输协议、端口与队列。

利用WAS托管服务与IIS宿主托管服务的方法并没有太大的区别,仍然需要创建svc文件,同时在IIS中需要在站点中创建应有程序指向托管应用程序,还可以设置访问服务的别名与应用程序池。

由于WAS诉诸支持所有的绑定,因此此时的服务绑定并不会受到宿主的限制。

【相关文章】

【责任编辑:碧海蓝天 TEL:(010)68476606】



共5页: 上一页 [1] [2] [3] [4] 5
【内容导航】
华硕IDC绿色节能服务器推荐
WCF开发基础
Windows Home Server 家用服务器专题
服务器维护与应用基础
服务器基础知识入门
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有