共用方式為


何謂 Windows Communication Foundation

Windows Communication Foundation (WCF) 是用於建置服務導向應用程式的架構。 使用 WCF,您可以在各個服務端點之間傳送非同步訊息形式的資料。 服務端點可能是由 IIS 裝載之持續上線服務的一部分,或為應用程式中裝載的服務。 端點則大致是某項服務的用戶端,會向該服務端點要求資料。 訊息可為簡單的單一字元或以 XML 傳送的字組,乃至如二進位資料的資料流這般複雜的形式都沒問題。 其中幾個範例案例包括:

  • 處理商務交易的安全服務。

  • 提供當前資料給其他使用者的服務,例如流量報表或其他監控服務。

  • 讓兩人可相互即時通訊或交換資料的聊天交談服務。

  • 輪詢一項或多項服務以取得資料,再按邏輯呈現簡報資料的儀表板應用程式。

  • 使用 Windows Workflow Foundation 實作且公開為 WCF 服務的工作流程。

  • 輪詢服務以取得最新資料摘要的 Silverlight 應用程式。

儘管在 WCF 面市之前,原本就能建立這幾類應用程式,但 WCF 使得端點開發比以往更為容易。 簡言之,WCF 的設計提供了便於管理的方式以讓您建立 Web 服務與 Web 服務用戶端。

WCF 的功能

WCF 包括下列功能集。 如需詳細資訊,請參閱 WCF 功能詳細資料.

  • 服務導向

    WCF 採用 WS 標準的結果,代表您可以建立「服務導向」(Service Oriented) 應用程式。 服務導向架構 (SOA) 是 Web 服務賴以傳送和接收資料的基礎。 服務具備鬆散耦合的普遍優點,而非隨應用程式而異的硬式編碼。 鬆散耦合的關係意味著在任何平台建立的任何用戶端,只要遵守基本合約便能連線至任何服務。

  • 互通性

    WCF 實作了 Web 服務互通性的最新業界標準。如需詳細資訊所支援各種標準的詳細資訊,請參閱互通性與整合

  • 多種訊息模式

    訊息將以數種模式的其中一種進行交換。 最常見的模式為要求/回覆模式,即某端點向另一端點要求資料, 然後由該另一端點予以回覆。 其他模式還包括單向訊息,則是僅由單一端點傳送訊息,但從不期待會收到回覆。 更複雜的模式稱為雙工交換模式,將由兩個端點建立連線並相互往返傳送資料,類似於即時訊息程式。如需詳細資訊如何使用 WCF 實作各種訊息交換模式的詳細資訊,請參閱合約

  • 服務中繼資料

    WCF 支援採用業界標準 (如 WSDL、XML 結構描述及 WS-Policy) 指定的格式來發行服務中繼資料。 這份中繼資料可用於自動產生和設定將要存取 WCF 服務的用戶端。 您可以透過 HTTP 及 HTTPS,或者使用 Web 服務中繼資料交換標準來發行中繼資料。 如需詳細資訊,請參閱 中繼資料.

  • 資料合約

    由於 WCF 是使用 .NET Framework 所建置,其亦包含了便利的程式碼方法,以讓您提供希望強制履行的合約。 其中一種通用的合約類型就是資料合約。 基本上,當您使用 Visual C# 或 Visual Basic 撰寫服務程式碼時,要處理資料最簡單的做法即是建立類別以表示資料實體,且又具有屬於該資料實體的屬性。WCF 包含了能以如此簡便的方式處理資料的整套系統。 一旦表示資料的類別已建立,您的服務便會自動產生中繼資料,而讓用戶端能夠遵照您所設計的資料型別。 如需詳細資訊,請參閱 使用資料合約

  • 安全性

    訊息經過加密後可以保護隱私權,而您也可以要求使用者必須先驗證才能接收訊息。 使用諸如 SSL 或 WS-SecureConversation 等公認的標準即可實作安全性。 如需詳細資訊,請參閱 Windows Communication Foundation 安全性.

  • 多重傳輸與編碼

    訊息可以透過數種內建傳輸通訊協定與編碼的任何方式進行傳送。 最常用的通訊協定與編碼方式為傳送文字編碼的 SOAP 訊息,其所使用的是全球資訊網泛用的超文字傳輸通訊協定 (HTTP)。 或者,WCF 也能讓您透過 TCP、具名管道或 MSMQ 傳送訊息。 這些訊息可編碼為文字,或採用最佳化的二進位格式。 使用 MTOM 標準將能有效傳送二進位資料。 如果系統提供的傳輸或編碼都無法滿足您的需求,您還可另行建立自訂傳輸或編碼。如需詳細資訊 WCF 支援的傳輸與編碼的詳細資訊,請參閱 Windows Communication Foundation 中的傳輸

  • 可靠的佇列訊息

    WCF 支援使用由 WS-Reliable 訊息實作的可靠工作階段加上運用 MSMQ,以達到可靠的訊息交換。如需詳細資訊可靠的佇列訊息在 WCF 中受支援程度的詳細資訊,請參閱佇列和可靠的工作階段

  • 永久性的訊息

    永久性的訊息是指不會因為通訊中斷而遺失的訊息。 處於永久性訊息模式的訊息一律儲存至資料庫。 萬一發生中斷,資料庫可以讓您在恢復連線後繼續進行訊息交換。 您也能夠使用 Windows Workflow Foundation (WF) 建立永久性的訊息。 如需詳細資訊,請參閱 工作流程服務.

  • 異動

    WCF 亦支援使用三種交易模型的任一種進行交易:WS-AtomicTtransaction、System.Transactions 命名空間中的 API,以及 Microsoft 分散式交易協調器。如需詳細資訊 WCF 支援交易的詳細資訊,請參閱異動

  • AJAX 與 REST 支援

    REST 是 Web 2.0 技術演進的一個例子。WCF 可設定成用來處理未由 SOAP 封套所包裝的「純」XML 資料。WCF 也可擴充為支援特定的 XML 格式如 ATOM (RSS 普遍標準),甚至支援非 XML 格式如 JavaScript 物件標記法 (JSON)。

  • 擴充性

    WCF 架構具有若干擴充點。 如果您需要額外的功能,可以從幾個進入點著手自訂服務的行為。如需詳細資訊可用擴充點的詳細資訊,請參閱延伸 WCF

WCF 與其他 Microsoft 技術的整合

WCF 是具有靈活彈性的平台。 由於提供了極大彈性,許多其他 Microsoft 產品也使用 WCF。 了解 WCF 的基本概念後,您在使用任何這些產品時就能立即掌握優勢。

第一項與 WCF 搭檔的技術為 Windows Workflow Foundation (WF)。 工作流程會將其步驟封裝在工作流程中成為活動,藉以簡化應用程式開發。若是使用第一版的 Windows Workflow Foundation,開發人員則必須為工作流程建立主應用程式。 下一版的 Windows Workflow Foundation 已與 WCF 相整合。 這讓您得以輕鬆將任何工作流程裝載於 WCF 服務中,只要選擇 WF/WCF 的 Visual Studio 2010 或 Visual Studio 2010 專案類型就能自動完成。

Microsoft BizTalk Server R2 同樣使用 WCF 做為通訊技術。 BizTalk 是設計用來接收標準化格式的資料以及轉換成其他格式。 訊息必須傳遞至中央訊息槽,以在該處使用嚴格對應或利用 BizTalk 功能 (例如工作流程引擎) 才可轉換訊息。 BizTalk 如今已可使用 WCF 企業營運 (LOB) 配接器將訊息傳遞至訊息槽。

Microsoft Silverlight 為可供建立高互通性多樣化 Web 應用程式的平台,能讓開發人員建立媒體播放 (例如串流視訊) 頻繁的網站。 Silverlight 從 2 版起已納入 WCF 做為通訊技術,將 Silverlight 應用程式連接至 WCF 端點。

Microsoft .NET 服務為雲端運算計畫,使用 WCF 建立採用網際網路的應用程式。 使用 .NET 服務建立跨越信任界限運作的 WCF 服務。

Windows Server AppFabric 的裝載功能 應用程式伺服器是用於部署與管理使用 WCF 進行通訊的應用程式而特別建立的。 裝載功能 包含了專為 WCF 已啟用的應用程式而設計之豐富的工具及組態選項。

另請參閱

參考

System.ServiceModel

概念

Windows Communication Foundation 的主要概念
Windows Communication Foundation 架構
文件指南

其他資源

方針及最佳做法
使用者入門教學課程
基本 WCF 程式設計
Windows Communication Foundation Samples