Freigeben über


IMessageFilterTable<TFilterData>.GetMatchingValue Methode

Definition

Gibt einen Wert zurück, der angibt, ob das Übereinstimmungskriterium eines Filters in der Tabelle durch die angegebene Nachricht oder die gepufferte Nachricht erfüllt wird, und gibt die Filterdaten für den übereinstimmenden Filter zurück.

Überlädt

GetMatchingValue(Message, TFilterData)

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

GetMatchingValue(MessageBuffer, TFilterData)

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

Hinweise

Verwenden Sie eine dieser Methoden, wenn erwartet wird, dass höchstens ein Filter mit der Nachricht übereinstimmt und nur die Filterdaten des übereinstimmenden Filters wiederhergestellt werden müssen. Diese Methoden geben einen booleschen Wert zurück, der angibt, ob ein übereinstimmender Filter gefunden wurde, und den Referenzparameter data auf die übereinstimmenden Filterdaten festlegt.

Verwenden Sie GetMatchingFilter, wenn der Text der Nachricht nicht durch einen Filter in der Filtertabelle überprüft wird.

Wenn der Text der Nachricht möglicherweise durch einen Filter in der Filtertabelle überprüft wird, puffern Sie die Nachricht, und übergeben Sie sie an die GetMatchingFilter-Version der Methode.

GetMatchingValue(Message, TFilterData)

Quelle:
IMessageFilterTable.cs
Quelle:
IMessageFilterTable.cs

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

public:
 bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
Public Function GetMatchingValue (message As Message, ByRef value As TFilterData) As Boolean

Parameter

message
Message

Der zu überprüfende Message.

value
TFilterData

out -Parameter, der das FilterData -Objekt speichert, das mit übereinstimmt message.

Gibt zurück

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

Hinweise

Verwenden Sie diese Methode, wenn erwartet wird, dass ein einzelner Filter mit der Nachricht übereinstimmt und nur die Filterdaten des übereinstimmenden Filters wiederhergestellt werden müssen.

Bei dieser Methode wird höchstens ein einziger übereinstimmender Filter erwartet. Wenn mehr als ein Filter eine Übereinstimmung aufweist, muss MultipleFilterMatchesException ausgelöst werden.

Wenn der Text der Nachricht durch einen Filter in der Filtertabelle überprüft werden muss, puffern Sie die Nachricht unter Verwendung von CreateBufferedCopy, und übergeben Sie sie an die GetMatchingValue-Version der Methode.

Hinweise für Ausführende

Wenn mehr als ein Filter mit der Nachricht übereinstimmt, muss MultipleFilterMatchesException ausgelöst werden.

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

Gilt für:

GetMatchingValue(MessageBuffer, TFilterData)

Quelle:
IMessageFilterTable.cs
Quelle:
IMessageFilterTable.cs

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

public:
 bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer messageBuffer, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
Public Function GetMatchingValue (messageBuffer As MessageBuffer, ByRef value As TFilterData) As Boolean

Parameter

messageBuffer
MessageBuffer

Der zu überprüfende MessageBuffer.

value
TFilterData

out -Parameter, der das FilterData -Objekt speichert, das mit übereinstimmt messageBuffer.

Gibt zurück

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

Hinweise

Verwenden Sie diese Methode, wenn erwartet wird, dass ein einzelner Filter mit der gepufferten Nachricht übereinstimmt, nur die Filterdaten aus dem übereinstimmenden Filter zurückgegeben werden müssen und der Text der Nachricht möglicherweise überprüft werden muss.

Hinweise für Ausführende

Wenn mehr als ein Filter mit der Nachricht übereinstimmt, muss MultipleFilterMatchesException ausgelöst werden.

Gilt für: