您现在的位置: IT专家网 > WinSystem子站 > 评论分析
承载和使用 WCF 服务
本文讨论 Windows Communication Foundation (WCF) 承载方案和 WCF 服务的使用。传统的 ASMX Web 服务通常仅由 Microsoft Internet 信息服务 (IIS) 承载。
如果您仔细研究 Microsoft Visual Studio 2005 附带的项目模板,就会发现还有其他可选方案供您使用。很显然,我们认为没有其他模板可以在服务世界中用作可行的方案。但值得注意的是,只要 WCF 能够提供 .NET 应用程序域,您就可以在其他任何类型的应用程序中运行服务。实际上这完全取决于您对宿主的要求。总结这些可选方案,我们主要考虑以下三类常见的 WCF 服务宿主:
•在托管的 .NET 应用程序中进行自承载
•在 Windows 服务中进行承载
•在不同版本的 IIS 中进行承载
可想而知,如本节之前提到的,所有这些宿主在 Visual Studio 中都有相关联的项目模板,并且都有自己的特征。要想更好地了解在每种情况下哪种宿主是最佳选择,必须了解宿主通常的要求和功能。理解这一点后,我们将分别详细介绍每种承载方案。
了解 .NET 应用程序域
如果您了解 Windows 进程的角色以及如何通过托管代码与它们交互,那么您肯定会对 .NET 应用程序域的概念有所了解。要在进程中运行托管 .NET 代码,就需要创建程序集。这些程序集并不直接承载于 Windows 进程中。而是由公共语言运行库 (CLR) 在进程中创建称为“应用程序域”的单独逻辑分区来对托管代码进行隔离。单个进程可能会包含多个应用程序域,每个域都会承载封装于程序集内的不同代码片断。这种对传统 Windows 进程的划分方式可以通过 .NET Framework 提供几个好处。
主要好处如下所示:
•由于不涉及可执行文件或库的概念,应用程序域决定了 .NET 平台的与操作系统无关的特性。
•您可以根据自身需要控制、卸载和加载应用程序域。
•应用程序域在应用程序或多个应用程序域共生的进程中起到隔离的作用。进程中的应用程序域彼此相互独立,虽然一个域出现故障,但其他域仍可正常工作。
- 本文关键词:

