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 は、メッセージのアクションが、指定された一連のアクションの 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) |
適用対象
.NET