WCF分布式開發步步為贏(2)自定義托管宿主WCF解決方案開發配置過程詳解
上一節《WCF分布式框架基礎概念》我們介紹了WCF服務的概念和通信框架模型,并給出了基于自定義托管服務的WCF程序的實現代碼。考慮到WCF分布式開發項目中關于托管宿主服務配置和客戶端添加引用。兩個環節最容易出錯。對于大部分想學習WCF分布式開發的人來說,成功開發、配置、部署第一個自己的WCF服務困難重重。很多資料都介紹了WCF的基本概念。但是對于實際的項目開發過程介紹粗略,給入門者帶來諸多不便。今天我們就來補充一節WCF分布式開發一個完整解決方案的開發和配置過程。本節基本結構是:首先介紹【1】WCF服務解決方案的項目組成【2】WCF服務的開發和配置過程,【3】自定義宿主的開發和配置過程【4】客戶端的服務引用和配置過程。【總結】算是為各位WCF分布式技術開發的愛好者,提供的一個開發參考。
【1】WCF服務解決方案的項目組成:
1.1】WCF服務:
通常來說,WCF服務由三個部分構成:
-
服務類:包含服務契約、操作契約和數據契約的定義和實現;
-
宿主:一種應用程序域和進程,服務將在該環境中運行;
-
終結點:由客戶端用于訪問服務。
我們這里的解決方案包括服務類項目、托管宿主、和簡單的客戶端程序,結構如圖:
1.2】客戶端應用程序:
上一節我們介紹了WCF的基本概念,WCF基本通信機制是基于SOAP消息,SOAP消息基于XML語言,因此WCF應用程序可與運行于各種上下文環境的其他進程進行通信,當然也支持跨系統、跨平臺的應用程序之間的數據交互。基于WCF構建的分布式應用程序可與下列所有程序進行交互:
-
同一 Windows 計算機上不同進程中的WCF應用程序。
-
另一 Windows 計算機上的WCF應用程序。
-
基于其他技術構建的應用程序,如基于 Java 2 企業版 (J2EE) 構建的、支持標準 Web 服務的應用程序服務器。這些應用程序可以運行在 Windows 計算機上,也可以運行在其他操作系統(如 Sun Solaris、IBM 的 z/OS 或 Linux)上。
因此可以作為客戶端的應用程序,并不限制其類型,只要可以解析基于XML的SOAP消息,都可以與WCF的服務端進行通信。.NET平臺上我們可以創建控制臺應用程序、WinForm、Windows服務、ASP.NET應用程序等,來訪問和調用WCF服務。下面我們就來具體介紹自定義托管服務,WCF解決方案的開發配置的詳細過程。