MessageFilter 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
用來查詢訊息之不同篩選條件類別的 abstract
基底類別。
public ref class MessageFilter abstract
[System.Runtime.Serialization.DataContract]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.ActionMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.XPathMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchAllMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchNoneMessageFilter))]
public abstract class MessageFilter
[<System.Runtime.Serialization.DataContract>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.ActionMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.XPathMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchAllMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchNoneMessageFilter))>]
type MessageFilter = class
Public MustInherit Class MessageFilter
- 繼承
-
MessageFilter
- 衍生
- 屬性
備註
MessageFilter 是一個 abstract
類別,開發人員會實作這個類別來指定要用於檢查訊息的準則。 通常端點應用程式會使用篩選條件,根據檢查訊息的部分內容來判定如何處理訊息。 例如,佇列處理序可以使用 XPath 1.0 查詢檢查已知標頭的優先順序項目,以便決定是否要將訊息移到佇列前頭。
篩選條件會儲存在實作 IMessageFilterTable<TFilterData> 的篩選資料表中。 資料表中的每個篩選條件都會與指定的篩選資料產生關聯,而這些篩選資料可用來指示當訊息與篩選條件相符時所要採取的動作。 Match 方法會用於判斷訊息是否符合篩選條件。
因為篩選資料表無法偵測變更,所以篩選條件在建構之後,其所使用的準則就無法變更。 唯一可以修改篩選條件準則的方式,就是建構新篩選條件並刪除現有的篩選條件。
下列類別會實作 abstract
MessageFilter 類別:
XPathMessageFilter 會使用 XPath 1.0 運算式來指定比對的準則。
MatchAllMessageFilter 會比對所有訊息。
MatchNoneMessageFilter 不會比對任何一個訊息。
ActionMessageFilter 會測試訊息的動作是否為指定動作集中的動作。
EndpointAddressMessageFilter 會測試訊息是否符合指定的端點位址。
ChannelListenerBase<TChannel> 是可以用來撰寫非佇列接聽程式 (Listener) 的 abstract
基底類別。
建構函式
MessageFilter() |
在衍生類別中呼叫時,初始化 MessageFilter 類別的新執行個體。 |
方法
CreateFilterTable<FilterData>() |
建立篩選條件的篩選資料表,這個篩選條件具有與其相關聯的指定資料型別。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
Match(Message) |
在衍生類別中覆寫時,測試訊息是否符合篩選條件的準則。 本文無法進行檢查。 |
Match(MessageBuffer) |
在衍生類別中覆寫時,測試緩衝訊息是否符合篩選條件的準則。 |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |