端點:位址、繫結和合約

與 Windows Communication Foundation (WCF) 服務進行的所有通訊,會透過服務的「端點」來進行。 端點可讓用戶端存取 WCF 服務所提供的功能。

端點包含四項屬性:

  • 指出可在何處找到端點的位址。

  • 指定用戶端可以如何與端點通訊的繫結。

  • 識別可用作業的合約。

  • 指定本機端點實作細節的行為集。

本主題將討論此端點結構,並說明如何以 WCF 物件模型呈現。

端點結構

每個端點都包含下列項目:

  • 位址:位址會唯一識別端點並告訴潛在取用者服務的位置。 其會透過 WCF 物件模型中的 EndpointAddress 類別呈現。 EndpointAddress 類別包含:

    • Uri 屬性,用來代表服務位址。

    • Identity 屬性,用來代表服務的安全性身分識別以及一群選用的訊息標頭集合。 選用訊息標頭會用來提供其他更詳細的定址資訊來識別端點或與端點互動。

    如需詳細資訊,請參閱指定端點位址

  • 繫結:繫結會指定與端點的通訊方式。 這包括:

    • 要使用的傳輸通訊協定 (例如,TCP 或 HTTP)。

    • 訊息使用的編碼 (例如,文字或二進位)。

    • 必要的安全性需求 (例如,SSL 或 SOAP 訊息安全性)。

    如需詳細資訊,請參閱 WCF 繫結概觀。 繫結會透過 WCF 物件模型中的抽象基底類別 Binding 呈現。 在大部分情況中,使用者可以使用下列其中一種系統提供的繫結。 如需詳細資訊,請參閱系統提供的繫結

  • 合約:合約會概略說明端點公開哪些功能給用戶端。 合約會指定:

    • 用戶端可以呼叫的作業。

    • 訊息格式。

    • 呼叫作業所需的輸入參數或資料型別。

    • 用戶端可以期待收到的處理或回應訊息型別。

    如需定義合約的詳細資訊,請參閱設計服務合約

  • 行為:您可以使用端點行為來自訂服務端點的本機行為。 端點行為會藉由參與建置 WCF 執行階段的流程來達到這項目的。 ListenUri 屬性是一個端點行為範例,它可讓您指定不同於 SOAP 或 Web 服務描述語言 (WSDL) 位址的接聽位址。 如需詳細資訊,請參閱 ClientViaBehavior

定義端點

您可以透過命令式程式碼或是宣告式組態來指定服務端點。 如需詳細資訊,請參閱操作說明:在組態中建立服務端點操作說明:在程式碼中建立服務端點

本節內容

本章節說明繫結、端點與位址的用途;說明如何設定繫結與端點;並示範如何使用 ClientVia 行為和 ListenUri 屬性。

位址
描述 WCF 如何處理端點。

繫結
說明如何使用繫結程序來指定必要的傳輸、編碼與通訊協定詳細資料,以供用戶端與服務彼此通訊。

合約
說明合約如何定義服務方法。

如何:在組態中建立服務端點
說明如何透過組態建立服務端點。

如何:在程式碼中建立服務端點
說明如何透過程式碼建立服務端點。

如何:使用 Svcutil.exe 來驗證已編譯服務程式碼
描述如何在不裝載服務的前提下,使用 ServiceModel 中繼資料公用程式工具 (Svcutil.exe) 來偵測服務實作與組態中的錯誤。

另請參閱