MessageFilter クラス

定義

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 は、メッセージのアクションが、指定された一連のアクションの 1 つであるかどうかをテストします。

  • EndpointAddressMessageFilter は、メッセージが指定されたエンドポイント アドレスを満たすかどうかをテストします。

ChannelListenerBase<TChannel> は、キュー以外のリスナーの記述に使用できる abstract 基本クラスです。

コンストラクター

MessageFilter()

派生クラスで呼び出されると、MessageFilter クラスの新しいインスタンスを初期化します。

メソッド

CreateFilterTable<FilterData>()

指定した種類のデータが関連付けられているフィルターのフィルター テーブルを作成します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
Match(Message)

派生クラスでオーバーライドされると、メッセージがフィルター条件を満たすかどうかをテストします。 本文を調べることができません。

Match(MessageBuffer)

派生クラスでオーバーライドされると、バッファー内のメッセージがフィルターの条件を満たすかどうかをテストします。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象