※IDC知识库搜索

当前位置: 服务器托管 > IT学院 > 操作系统 >

托管

托管 WCF服务类不能凭空存在。每个WCF服务都必须托管(Hosting) 在Windows进程中,该进程被称为宿主进程(Host Process)。单个宿主进程可以托管多个服务,而相同的服务类型也能够托管在

托管

WCF服务类不能凭空存在。每个WCF服务都必须托管(Hosting) 在Windows进程中,该进程被称为宿主进程(Host Process)。单个宿主进程可以托管多个服务,而相同的服务类型也能够托管在多个宿主进程中。WCF没有要求宿主进程是否同时又是客户端进程。显然,一个独立的进程有利于错误与安全的隔离。谁提供进程或是提供何种类型的进程并不重要。宿主可以由IIS提供,也可以由Windows Vista的Windows激活服务(Windows Activation Service,WAS)提供,或者开发者直接将它作为应用程序的一部分。

注意:一种特殊的托管方式称为进程内托管(In-Process Hosting),简称in-proc。服务与客户端驻留在相同的进程中。通过定义,开发者能够提供进程内托管。

IIS托管

在微软的Internet信息服务器(Internet Information Server,IIS)中托管服务,主要的优势是宿主进程可以在客户端提交第一次请求的时候自动启动,还可以借助IIS管理宿主进程的生命周期。IIS托管的主要缺点在于只能使用HTTP协议。如果是IIS 5,还要受端口限制,要求所有服务必须使用相同的端口号。

在IIS中托管服务与经典的ASMX Web服务托管相似,需要在IIS下创建虚拟目录,并提供一个.svc文件。.svc文件的功能与.asmx文件相似,主要用于识别隐藏在文件和类后面的服务代码。例1-2展示了.svc文件的语法结构。

    Win98系统:c:\Windows  c:\Windows\system
    Winnt和Win2000系统:c:\Winntc:\Winnt\system32
    Winxp系统:c:\Windows  c:\Windows\system32    


例1-2:.svc文件
<%@ ServiceHost
Language= "C#"
Debug = "true"
CodeBehind = "~/App_Code/MyService.cs"
Service = "MyService"
%>

注意:我们甚至可以将服务代码注入到.svc文件中,但这样的做法并不明智。这与ASMX Web服务的要求相同。
使用IIS托管,服务的基地址必需与.svc文件的地址保持一致。

使用Visual Studio 2005

使用Visual Studio 2005,可以生成IIS托管服务的模版文件。选择File菜单的New Website菜单项,然后从New Web Site对话框中选择WCF Service。通过这种方式可以让Visual Studio 2005创建一个新的Web站点,以及服务代码和对应的.svc文件。之后,我们还可以通过Add New Item对话框添加另外的服务。

Web.Config文件

Web站点的配置文件(Web.Config)必须列出需要公开为服务的类型。类型使用类型全名,如果服务类型来自于一个没有被引用的程序集,则还要包括程序集名:


北京双线机房 北京双线服务器 北京双线主机托管 北京双线托管 服务器托管 托管服务器
关于我们| 招聘信息| 联系我们| 付款方式| 网站地图 |友情链接 | 云计算服务平台 | 在线工单系统
咨询热线:010-82894410/82894420  7×24小时技术支持:010-56070518 13811155188 15811155188
传真:010-82894410转607  客服传真:010-82894410转607   京ICP证090528号 京ICP备09042719号 公安局备案编号:1101083278 
Copyright© 2006-2010 东方瑞庭(TopServers) 版权所有