對于WCF 服務增強
待測試系統由后端 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);
- }