本文畫出了 WCF 框架運行時的重點類之間的類關系圖。
- Binding
一個 Binding 由多個 BindingElement 組成。BindingElement 作為主要的擴展點。每一個 BindingElement 描述某個獨立的行為。最終 Binding 使用一連串的 BindingElement 來生成Channel。
- Description
Description 表示服務的元數據,用於描述服務本身。一個服務包括多個終結點,一個終結點對應一個綁定、對應一個契約、多個操作。而服務、終結點、契約、操作,都可以附加多個行為來對其進行控制。
- Behaviors
下面是四類行為用於控制的類型。
- Behavior Invoke flow
框架內部對於行為的調用順序:
- Client Runtime
客戶端運行時類型,用於控制客戶端運行時行為。
- Server Runtime
服務端運行時類型。相對客戶端的運行時,要復雜一些。
對運行時擴展時,一般使用 Behavior。如果想使用配置文件聲明的方式,則應該封裝到 BindingElementExtensionElement 或者 BehaviorExtensionElement 中。