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)

適用対象