DispatchRuntime 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
公開屬性,這些屬性可用於修改預設服務行為以及附加自訂物件,而這些物件可以修改將傳入訊息轉換成物件並分派至作業的方式。 此類別無法獲得繼承。
public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
- 繼承
-
DispatchRuntime
備註
使用 DispatchRuntime 類別,即可修改服務或個別端點的預設行為,或插入會對下列其中一項或所有服務程序實作自訂修改的物件:
將傳入訊息轉換成物件,並且在針對服務物件叫用方法時釋放這些物件。
將回應叫用服務作業時收到的物件轉換成傳出訊息。
在 Windows Communication Foundation (WCF) 中,通道和端點發送器是負責接受新通道、接收訊息、方法分派和叫用,以及回應處理的服務元件。 每個由 ServiceHost 物件公開的端點都有一個端點發送器和相關聯的通道發送器;此外,每個參與雙工通訊的用戶端對於每個回呼端點也都有一個端點發送器和通道發送器。
即使無法辨識訊息,DispatchRuntime 仍可讓您為特定合約上的所有訊息攔截及擴充通道或端點發送器。 當不符合在合約中宣告之任何訊息的訊息到達時,該訊息會被分派至由 UnhandledDispatchOperation 屬性傳回的作業。 若要針對特定作業在所有訊息上進行攔截或擴充,請參閱 DispatchOperation 類別。
發送器擴充性的四個主要區域是由 DispatchRuntime 類別所公開:
分派元件會使用 DispatchRuntime 的屬性以及相關聯通道發送器的屬性 (由 ChannelDispatcher 屬性傳回),自訂通道發送器接受及關閉通道的方式。 這個分類包括 ChannelInitializers 和 InputSessionShutdownHandlers 屬性。
訊息元件會針對所處理的各個訊息進行自訂。 這個分類包括 MessageInspectors、OperationSelector、Operations 和 ErrorHandlers 屬性。
執行個體元件會自訂服務類型執行個體的建立、存留期和處置。 如需服務物件存留期的詳細資訊,請參閱 InstanceContextMode 屬性。 這個分類包括 InstanceContextInitializers 和 InstanceProvider 屬性。
安全性相關的元件可以使用下列屬性:
SecurityAuditLogLocation 會指出要將稽核事件寫入何處。
ImpersonateCallerForAllOperations 會控制服務是否會嘗試使用由傳入訊息提供的認證來進行模擬。
MessageAuthenticationAuditLevel 會控制是否要將成功的訊息驗證事件寫入由 SecurityAuditLogLocation 指定的事件記錄檔。
PrincipalPermissionMode 會控制 CurrentPrincipal 屬性的設定方式。
ServiceAuthorizationAuditLevel 會指定稽核授權事件的執行方式。
SuppressAuditFailure 會指定是否要隱藏在記錄處理期間發生的非嚴重例外狀況。
一般來說,自訂延伸物件會指派給 DispatchRuntime 屬性,或由服務行為 (實作 IServiceBehavior 的物件)、合約行為 (實作 IContractBehavior 的物件) 或端點行為 (實作 IEndpointBehavior 的物件) 插入到集合中。 接著,安裝行為物件會透過程式設計的方式或實作自訂 BehaviorExtensionElement 物件的方式新增至適當的行為集合,讓該行為可以透過應用程式組態檔插入。
屬性
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |