Freigeben über


IMessageFilterTable<TFilterData>.GetMatchingFilters Methode

Definition

Fügt einer Auflistung die Filter hinzu, deren Abfragekriterien durch eine angegebene Nachricht oder gepufferte Nachricht erfüllt werden.

Überlädt

GetMatchingFilters(Message, ICollection<MessageFilter>)

Gibt einen Wert zurück, der angibt, ob das Übereinstimmungskriterium eines Filters in der Tabelle durch die angegebene Nachricht erfüllt wird und die übereinstimmenden Filter einer Auflistung hinzufügt.

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Gibt einen Wert zurück, der angibt, ob das Übereinstimmungskriterium eines Filters in der Tabelle durch die angegebene gepufferte Nachricht erfüllt wird und die übereinstimmenden Filter einer Auflistung hinzufügt.

Hinweise

Verwenden Sie eine dieser Methoden, wenn davon ausgegangen wird, dass mehrere Filter mit der Nachricht übereinstimmen und übereinstimmende Filter erforderlich sind. Beachten Sie, dass die Auflistung, die die Filter enthält, erst gelöscht wird, wenn die Ergebnisse hinzugefügt wurden. Dies ermöglicht es Ihnen, alle Übereinstimmungen aus mehreren Filtertabellen in einer einzelnen Auflistung zu sammeln.

Wenn der Text der Nachricht durch einen Filter in der Filtertabelle überprüft werden muss, puffern Sie die Nachricht, und übergeben Sie sie an die GetMatchingFilters-Methode. Verwenden Sie andernfalls GetMatchingFilters.

Die übereinstimmenden MessageFilter-Objekte werden im results-Parameter gespeichert. Die Filterdaten können anschließend aus der Filtertabelle wiederhergestellt werden, indem diese Filter als Schlüssel für die durch IDictionary<TKey,TValue> bereitgestellten Methoden verwendet werden.

GetMatchingFilters(Message, ICollection<MessageFilter>)

Gibt einen Wert zurück, der angibt, ob das Übereinstimmungskriterium eines Filters in der Tabelle durch die angegebene Nachricht erfüllt wird und die übereinstimmenden Filter einer Auflistung hinzufügt.

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::Message ^ message, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.Message message, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.Message * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (message As Message, results As ICollection(Of MessageFilter)) As Boolean

Parameter

message
Message

Der zu überprüfende Message.

results
ICollection<MessageFilter>

Verweisparameter, der die MessageFilter-Objekte speichert, die Übereinstimmungen mit ICollection<T><Filter> aufweisen.

Gibt zurück

Boolean

true, wenn das Übereinstimmungskriterium mindestens eines Filters in der Tabelle durch message erfüllt wird; false, wenn kein Filter übereinstimmt.

Hinweise

Verwenden Sie diese Methode, wenn erwartet wird, dass mehrere Filter mit der Nachricht übereinstimmen, die übereinstimmenden Filter erforderlich sind und der Text der Nachricht nicht überprüft werden muss.

Hinweise für Ausführende

Diese Version nimmt Message entgegen und muss InvalidBodyAccessException auslösen, wenn versucht wird, den Nachrichtentext zu überprüfen.

Gilt für

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

Gibt einen Wert zurück, der angibt, ob das Übereinstimmungskriterium eines Filters in der Tabelle durch die angegebene gepufferte Nachricht erfüllt wird und die übereinstimmenden Filter einer Auflistung hinzufügt.

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ buffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer messageBuffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer buffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (messageBuffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean
Public Function GetMatchingFilters (buffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean

Parameter

messageBufferbuffer
MessageBuffer

Der zu überprüfende MessageBuffer.

results
ICollection<MessageFilter>

Verweisparameter, der die MessageFilter-Objekte speichert, die Übereinstimmungen mit ICollection<T><Filter> aufweisen.

Gibt zurück

Boolean

true, wenn das Übereinstimmungskriterium mindestens eines Filters in der Tabelle durch messageBuffer erfüllt wird; false, wenn kein Filter übereinstimmt.

Hinweise

Verwenden Sie diese Methode, wenn erwartet wird, dass mehrere Filter mit der gepufferten Nachricht übereinstimmen, der übereinstimmende Filter erforderlich ist und der Text der Nachricht möglicherweise überprüft werden muss.

Gilt für