共用方式為


擴充性簡介

Windows Communication Foundation (WCF) 應用程式模型的設計目的是要解決任何分散式應用程式的通訊需求更大部分。 但是,默認應用程式模型和系統提供的實作一律不支持這些案例。 WCF 擴充性模型旨在支援客製化場景,因為它讓您可以在每一個層級修改系統行為,甚至可以取代整個應用程式模型。 本主題概述擴充功能的各種領域,並指出每個延伸模組的詳細資訊。

要擴充的區域

您可以擴充:

  • 應用程式運行時間。 這會擴展應用程式的訊息分派和處理。 此區域也包括擴充安全性系統、元數據系統、串行化系統,以及連接應用程式與基礎通道系統的系結和綁定項。

  • 頻道和頻道運行時。 這會擴充訊息層級運作的系統,並提供通訊協定、傳輸和編碼支援。

  • 主機運行時間。 這會將裝載應用程式域的關聯性延伸至通道和應用程式運行時間。

擴充應用程式運行時間

在 WCF 應用程式中,有些訊息是為對應的通道而設,而有些訊息則是為應用程式本身而設。 通道訊息支援某些通道相關功能,例如建立安全交談或建立可靠的會話。 這些訊息不適用於應用程式運行時間;它們會在涉及應用層之前進行處理。

應用程式訊息包含針對您或客戶所建立之用戶端或服務作業的資料。 這些訊息可以根據您的需求,以訊息或物件的形式提供給應用層級擴充系統使用。

所有訊息都會通過通道系統;只有應用程式訊息會從通道系統傳遞至應用程式。 若要建立新的通道層級功能,您必須擴充通道系統。 若要建立新的應用層級功能,您必須分別擴充服務或客戶端運行時間(發送器和通道處理站)。 如需擴充應用程式運行時間的詳細資訊,請參閱 擴充 ServiceHost 和服務模型層

擴充安全性

若要建置令牌和認證等自定義安全性機制,您必須擴充安全性系統。 如需詳細資訊,請參閱 擴充安全性

擴充元數據

若要以不同於預設值公開元數據,您必須擴充元數據系統。 如需詳細資訊,請參閱 擴充元數據系統

擴充串行化

若要建置自定義編碼器、提供數據代理或其他涉及自定義已傳輸資料的工作,您必須擴充串行化系統。 如需詳細資訊,請參閱 擴充編碼器和串行化程式

擴充系結

若要將傳輸或通訊協定通道與應用層產生關聯,您必須擴充系結系統。 如需詳細資訊,請參閱 擴充系結

擴充通道系統

若要建立支援自定義傳輸或通訊協定功能的通道,請參閱 擴充通道層

擴充服務裝載系統

若要修改整個服務的應用程式模型,您必須擴充 System.ServiceModel.ServiceHostBase 類別。 如需詳細資訊,請參閱 擴充 ServiceHost 和服務模型層

若要修改裝載應用程式域與服務主機之間的關聯性,您必須擴充 類別 System.ServiceModel.Activation.ServiceHostFactory 。 如需詳細資訊,請參閱 使用 ServiceHostFactory 擴充裝載

另請參閱