浅析使用WCF宿主

开发 后端
这里就WCF宿主做出介绍,还有IIS宿主,在IIS上宿主非常类似于WCF宿主一个典型的 ASMX Web服务案例,文章都有详细的介绍。

之前我们就自宿主做了详解,现在我们就宿主和大家分析一下,大家可能认为这不是一回事吗?其实不然,我们这里就来看看吧。每个WCF服务必须宿主在一个Windows进程中(称为宿主进程)。单个宿主进程可以宿主多个服务,而相同的服务类型可以宿主在多个进程中。WCF宿主并不要求是否该宿主进程也是客户端进程。

显然,应该有一个独立的进程支持错误和安全的隔离。另外,谁提供进程或调用哪种类型的进程都不是实质性的问题。这个WCF宿主可以由IIS或Windows Vista中的Widows活动服务(WAS)或由开发者作为应用程序的一部分来提供。

IIS宿主

#T#在IIS中宿主一个服务的主要优点是,在发生客户端请求时宿主进程会被自动启动,并且你可以依靠IIS来管理宿主进程的生命周期。IIS宿主的主要不利在于,你仅仅可以在IIS5和IIS6上使用HTTP传输数据;而且当使用IIS5时,你仅可以使用80端口。在IIS上宿主非常类似于WCF宿主一个典型的 ASMX Web服务。你需要在IIS下创建一个虚拟的目录并且提供一个.svc文件。这个.svc文件的功能就象一个被用来标识服务的code-behind文件和类的.asmx文件一样。

  1. <%@ ServiceHost  
  2. Language = "C#" 
  3. Debug = "true" 
  4. CodeBehind = "~/App_Code/MyService.cs" 
  5. Service = "MyService" 
  6. %> 

你甚至可以把服务代码以内联方式注入到.svc文件中,但是不建议这样用(就象对于ASMX的情形一样)。一旦你准备好了.svc文件,你就可以使用一个浏览器来观看它。如果一切顺利,那么你将得到一个确认页面。

Visual Studio 2005能够为你生成一个新的IIS宿主的服务。这只要从File菜单下选择"New Website",然后从"New Web Site"对话框中选择WinFX服务。这使得Visual Studio 2005创建一个新的Web站点,服务代码和匹配的.svc文件。另外,Web站点配置文件必须列举出你想要暴露的服务类型。你需要使用完全限定类型名(包括程序集名),如果类型来自于一个未引用的程序集的话。

  1. <system.serviceModel> 
  2. <services> 
  3. <service name="MyNamespace.MyService"> 
  4. ...  
  5. </service> 
  6. </services> 
  7. </system.serviceModel> 
责任编辑:田树 来源: 博客
相关推荐

2009-11-06 15:41:25

WCF自托管宿主

2009-11-06 15:47:17

WCF Windows

2010-02-22 16:09:33

WCF宿主

2010-02-24 17:17:04

WCF宿主环境

2009-12-21 17:05:59

WCF自托管宿主

2010-03-02 14:30:41

WCF宿主模式

2010-02-25 13:35:27

WCF tcpTrac

2010-02-25 18:37:23

WCF自宿主

2010-02-25 18:04:02

WCF IIS宿主

2010-03-02 09:24:22

WCF变更行为

2009-11-02 12:46:15

Winform

2010-03-01 18:04:35

WCF配置绑定

2010-02-22 10:52:34

PDA访问WCF

2010-02-26 08:59:10

WCF服务宿主程序

2009-11-05 11:12:21

WCF自宿主

2010-03-30 08:40:36

WCF

2010-02-24 10:41:28

WCF服务保护

2010-02-24 16:39:27

WCF客户端处理

2009-11-05 10:13:39

WCF框架

2009-11-05 09:43:11

WCF好处
点赞
收藏

51CTO技术栈公众号