系結是物件,可指定連線至端點所需的通訊詳細數據。 更具體來說,系結包含組態資訊,這些組態資訊是用來建立用戶端或服務運行時間,方法是定義傳輸、有線格式(訊息編碼)和用於個別端點或用戶端通道的通訊協定。 若要建立運作中的 Windows Communication Foundation (WCF) 服務,服務中的每個端點都需要系結。 本主題說明什麼是系結、定義系結的方式,以及如何為端點指定特定系結。
系結定義的內容
系結中的資訊可能非常基本或非常複雜。 最基本的系結只會指定必須用來連線到端點的傳輸通訊協定(例如 HTTP)。 一般而言,系結包含如何連線到端點的信息屬於下表中的其中一個類別。
協定
決定使用的安全性機制,無論是可靠的傳訊功能還是交易內容流程設定。
運輸
決定要使用的基礎傳輸通訊協定(例如 TCP 或 HTTP)。
編碼
決定訊息的編碼方式,例如文字/XML、二進制或訊息傳輸優化機制(MTOM),這決定了訊息如何在網路中表示為位元組流。
System-Provided 系結
WCF 包含一組系統提供的系結,其設計目的是要涵蓋大部分的應用程式需求和案例。 下列類別代表系統提供的系結的一些範例:
BasicHttpBinding:HTTP 通訊協定系結,適用於連線到符合 WS-I 基本配置檔 1.1 規格的 Web 服務(例如,ASP.NET Web 服務 [ASMX]型服務)。
WSHttpBinding:HTTP 通訊協定系結,適用於連線到符合 Web 服務規格通訊協定的端點。
NetNamedPipeBinding:使用 .NET 二進位編碼和框架技術搭配 Windows 命名管道傳輸,連線到相同電腦上的其他 WCF 端點。
NetMsmqBinding:使用 .NET 二進位編碼和框架技術搭配消息佇列(也稱為 MSMQ)來建立與其他 WCF 端點的佇列訊息連線。
如需系統提供之系結的完整清單,以及描述,請參閱 System-Provided 系結。
自定義系結
如果系統提供的系結集合沒有服務應用程式所需的正確功能組合,您可以建立系 CustomBinding 結。 如需有關 CustomBinding 繫結的元素的更多資訊,請參閱 <customBinding> 和 Custom Bindings。
使用系結
使用系結需要兩個基本步驟:
選取或定義系結。 最簡單的方法是選擇其中一個系統提供的系結,並使用其預設設定。 您也可以選擇系統提供的系結,並重設其屬性值以符合您的需求。 或者,您可以建立自定義系結,並視需要設定每個屬性。
建立使用此系結的端點。
程式代碼和組態
您可以透過程式代碼或組態來定義或設定系結。 這兩種方法與所使用的系結方式無關,例如,您可能使用系統提供的或是 CustomBinding 系結。 一般而言,使用程式代碼可讓您在編譯時完全控制系結的定義。 另一方面,使用組態可讓WCF服務或客戶端的系統管理員或使用者變更系結的參數。 由於無法預測要部署 WCF 應用程式的特定電腦需求和網路條件,因此通常可有這種彈性。 將系結(和尋址)資訊與程式代碼分開,可讓系統管理員變更系結詳細數據,而不需要重新編譯或重新部署應用程式。 請注意,如果系結是在程式碼中定義,它會覆寫組態檔中所做的任何以組態為基礎的定義。 如需這些方法的範例,請參閱下列主題:
如何:在 Managed 應用程式中裝載 WCF 服務 ,提供在程式碼中建立系結的範例。
教學課程:建立 Windows Communication Foundation 用戶端 提供使用組態建立用戶端的範例。