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

承载和使用WCF服务(12)

http://developer.51cto.com  2008-03-27 11:31  Chris Peiris/Dennis Mulder  Msdn  我要评论(0)
  • 摘要:本文讨论Windows Communication Foundation (WCF)承载方案和WCF服务的使用。传统的ASMX Web服务通常仅由Microsoft Internet信息服务(IIS)承载。在Microsoft .NET Framework 3.0中,WCF服务的承载方案得到了极大的增强。我们将讨论如何将承载模型扩展为包括Windows服务和自承载方案。此外,我们还将详细探讨可用于WCF服务的IIS承载(版本5.1、6.0和7.0)和Windows激活服务 (WAS) 承载方案。
  • 标签:WCF  承载  服务

列表 5-10:启用了 ASP.NET 兼容性的配置

<?xml version="1.0"?>
<configuration
xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<services>
...
</services>
<behaviors>
...
</behaviors>
</system.serviceModel>
</configuration>

注意:本书附带的示例代码包含在 ExchangeServiceInline.svc 文件中承载的 TradeService 服务,它被配置为在 ASP.NET 兼容性模式中运行。您可以在第 5 章的解决方案文件(请参考示例代码下载链接)中找到它。

Windows XP 和 IIS 5.1

Windows 2000 附带的 IIS 5.0 拆分了 IIS 进程模型,并引入了工作进程。此更改的主要原因是为了隔绝应用程序,以便 IIS 可以承载相互依赖较少的不同应用程序。IIS 5.0 与 Windows 2000 一起发布,而 IIS 5.1 与 Windows XP 一起发布。WCF 不支持在带 IIS 5.0 的 Windows 2000 上承载服务;因此,我们将只详细考查 IIS 5.1。IIS 5.1 受支持,但它有仅一个站点的限制,并且每个应用程序都运行在一个称为 aspnet_wp.exe 的工作进程中。IIS 5.1 对于开发 ASP.NET 网站和 WCF 服务是很好的版本。它不是为企业使用而准备的,因为它有连接限制,并且只运行在早期的 Windows 版本或 Windows XP 的客户端版本上。在本章中,我们将讨论 IIS 5.1。

在图 5-11 中,可以看到 IIS 5.1 的进程模型。体系结构被拆分成两部分。左侧的 W3svc.exe 承载 HTTP 侦听器、启动工作进程并管理配置。另一侧的工作进程则使 IIS 5.1 能够承载托管的 .NET 应用程序,在这里,ASPNET_ISAPI.dll 负责创建托管 .NET 应用程序域。请注意,在 Windows XP 上,W3svc.exe Windows 服务与 SMTP 和 FTP 服务一起承载在 SvcHost.exe 进程中。

图 5-11:IIS 5.1 进程模型体系结构

注意:不必有 IIS 即可运行 ASP.NET 和 WCF 服务。例如,可以使用 Visual Studio 2005 附带的 ASP.NET 开发 Web 服务器。在发布 Windows XP 时,Visual Studio 还没有此功能。必须使用 IIS 5.1 才能在 Windows XP 上开发 Web 应用程序。

Windows Server 2003 和 IIS 6.0

到 Windows Server 2003 时,Microsoft 引入了内核模式 HTTP 堆栈,称为 HTTP.SYS。HTTP.SYS 通过 W3svc.exe 插入 IIS 6.0 体系结构中。W3svc.exe 是用户模式组件,用于桥接内核模式的 HTTP.SYS 实现,并将它连接到在 IIS 5.1 中已有的进程和配置管理系统。到 IIS 6.0 时,应用程序池的概念更加普及。尽管在 IIS 5.1 中只有托管 (ASP.NET) 应用程序可以承载在单独的应用程序池中,但在 IIS 6.0 中所有类型的应用程序都可以承载在单独的应用程序池中。ASPNET_ISAPI.dll 仍然负责启动在托管 ASP.NET 世界中的应用程序域。图 5-12 说明了 IIS 6.0 中的进程模型。

图 5-12:在 IIS 6.0 中承载的 IIS 6.0 进程模型体系结构

下面的详细步骤说明如何在 IIS 6.0 中承载 .NET 3.0 WCF 服务。我们将使用在前面描述的示例在 IIS 6.0 中进行承载。


共18页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 12 [13] [14] [15] [16] [17] [18] 下一页
【内容导航】
 第 1 页:简介  第 2 页:了解 .NET 应用程序域
 第 3 页:承载环境特征  第 4 页:在 Windows 服务中进行承载
 第 5 页:操作步骤  第 6 页:使用 Internet 信息服务进行承载
 第 7 页:在 IIS 中承载 WCF 服务  第 8 页:在 IIS 中配置 WCF 服务
 第 9 页:在 IIS 中访问 ServiceHost  第 10 页:ASP.NET 兼容性模型
 第 11 页:Windows XP 和 IIS 5.1  第 12 页:在 IIS 7.0 上进行承载
 第 13 页:操作步骤  第 14 页:Windows 激活服务
 第 15 页:承载方案  第 16 页:使用 Visual Studio 2005
 第 17 页:命令行实现
华硕IDC绿色节能服务器推荐
WCF开发基础
Windows Home Server 家用服务器专题
服务器维护与应用基础
服务器基础知识入门
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

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