待测试系统由后端 WCF 服务和使用该 WCF 服务的 ASP.NET Web 应用程序组成。WCF 服务非常灵活。创建 WCF 服务时的重要设计决策之一是如何为该服务选择承载机制。主要有四种方法:使用 IIS、使用 Windows® Service、自承载以及使用 Windows Activation Service (WAS)。您可能很熟悉 IIS 和 Windows Service 的使用。
自承载涉及在 Microsoft® .NET Framework 托管的程序(如控制台应用程序)内承载 WCF。WAS 是 Windows Server® 2008 和 Windows Vista® 中提供的一种新的进程激活机制。每种 WCF 承载方案都有一些优点和缺点,具体取决于您的特定开发方案。#t#
在本专栏的 WCF 服务示例中,我决定使用 IIS。此方案能充分利用 IIS 的一些优势,例如内置集成的管理和监视、进程回收、空闲关机和基于消息的激活等功能。
创建由 IIS 承载的 WCF 服务极为简单。首先我在 Windows Server 2003 上激发 Visual Studio® 2008。请注意,如果您决定在运行 Windows Server 2008 或 Windows Vista 的计算机上开发 WCF 服务,在开发期间必须处理与其增强的安全功能有关的一些问题。但限于篇幅,我无法在此对这些问题进行说明。
此处我只有一个单一操作 GetCryptoHash,但我也可以添加其他操作。请注意,[SeviceContract] 和 [OperationContract] 属性将在后台执行大部分实际的代码生成工作。接着,通过添加一个引用 System.Security.Cryptography 命名空间的 using 语句来编辑实现文件 CryptoHashService.cs,我编写了下列代码:
- [ServiceContract]
- public interface ICryptoHashService
- {
- [OperationContract]
- string GetCryptoHash(string s);
- }