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 可用來判斷訊息是否符合篩選條件。
過濾器所使用的準則一旦建構完成後無法更改,因為過濾器表無法偵測變更。 修改篩選條件的唯一方法是建立新的篩選條件並刪除現有篩選條件。
以下類別實作該 abstractMessageFilter 類別:
XPathMessageFilter 使用 XPath 1.0 表達式來指定匹配條件。
MatchAllMessageFilter 與所有訊息相符。
MatchNoneMessageFilter 完全不符合任何訊息。
ActionMessageFilter 測試訊息的動作是否屬於指定一組動作之一。
EndpointAddressMessageFilter 測試訊息是否符合指定的端點位址。
ChannelListenerBase<TChannel> 是一個 abstract 可以用來撰寫非排隊監聽器的基底類別。
建構函式
| 名稱 | Description |
|---|---|
| MessageFilter() |
當在衍生類別中被呼叫時,會初始化該 MessageFilter 類別的新實例。 |
方法
| 名稱 | Description |
|---|---|
| CreateFilterTable<FilterData>() |
建立一個包含特定資料類型的過濾器的過濾表。 |
| Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| Match(Message) |
當在衍生類別中覆寫時,會測試訊息是否符合過濾條件。 屍體無法被檢查。 |
| Match(MessageBuffer) |
當在衍生類別中覆寫時,會測試緩衝訊息是否符合過濾器的條件。 |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |