IMessageFilterTable<TFilterData>.GetMatchingValue Metodo

Definizione

Restituisce un valore che indica se il criterio di corrispondenza di un filtro nella tabella viene soddisfatto dal messaggio o dal messaggio memorizzato nel buffer specificato e restituisce i dati del filtro corrispondenti.

Overload

Nome Descrizione
GetMatchingValue(Message, TFilterData)

Restituisce un valore che indica se il criterio di corrispondenza di un filtro della tabella viene soddisfatto dal messaggio specificato e aggiunge i dati del filtro corrispondenti a una raccolta.

GetMatchingValue(MessageBuffer, TFilterData)

Restituisce un valore che indica se il criterio di corrispondenza di un filtro della tabella viene soddisfatto dal messaggio memorizzato nel buffer specificato e aggiunge i dati del filtro corrispondenti a una raccolta.

Commenti

Utilizzare uno di questi metodi quando, al massimo, si prevede che un filtro corrisponda al messaggio e che sia necessario recuperare solo i dati del filtro corrispondente. Questi metodi restituiscono un valore booleano che indica se è stato trovato un filtro corrispondente e impostare il data parametro di riferimento sui dati del filtro corrispondenti.

Utilizzare GetMatchingFilter se il corpo del messaggio non viene controllato da alcun filtro nella tabella dei filtri.

Se il corpo del messaggio può essere controllato da un filtro nella tabella dei filtri, memorizzare il messaggio nel buffer e passarlo alla GetMatchingFilter versione del metodo .

GetMatchingValue(Message, TFilterData)

Restituisce un valore che indica se il criterio di corrispondenza di un filtro della tabella viene soddisfatto dal messaggio specificato e aggiunge i dati del filtro corrispondenti a una raccolta.

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

Parametri

message
Message

Oggetto Message da testare.

value
TFilterData

out parametro che archivia l'oggetto FilterData che corrisponde a message.

Valori restituiti

true se il criterio di corrispondenza di esattamente un filtro nella tabella viene soddisfatto dal messaggio; false se non viene soddisfatto alcun filtro.

Commenti

Utilizzare questo metodo quando si prevede che un singolo filtro corrisponda al messaggio e devono essere recuperati solo i dati di filtro del filtro corrispondente.

Questo metodo prevede al massimo un singolo filtro corrispondente. Se più di un filtro corrisponde, deve essere generata un'eccezione MultipleFilterMatchesException .

Se il corpo del messaggio deve essere controllato da un filtro nella tabella dei filtri, memorizzare nel buffer il messaggio usando CreateBufferedCopy e passarlo alla GetMatchingValue versione del metodo .

Note per gli implementatori

Se più filtri corrispondono al messaggio, deve essere generata un'eccezione MultipleFilterMatchesException .

Questo overload accetta e Message deve generare un'eccezione InvalidBodyAccessException se tenta di esaminare il corpo del messaggio.

Si applica a

GetMatchingValue(MessageBuffer, TFilterData)

Restituisce un valore che indica se il criterio di corrispondenza di un filtro della tabella viene soddisfatto dal messaggio memorizzato nel buffer specificato e aggiunge i dati del filtro corrispondenti a una raccolta.

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

Parametri

messageBuffer
MessageBuffer

Oggetto MessageBuffer da testare.

value
TFilterData

out parametro che archivia l'oggetto FilterData che corrisponde a messageBuffer.

Valori restituiti

true se il criterio di corrispondenza di esattamente un filtro nella tabella viene soddisfatto dal messaggio; false se non viene soddisfatto alcun filtro.

Commenti

Utilizzare questo metodo quando si prevede che un singolo filtro corrisponda al messaggio memorizzato nel buffer, è necessario recuperare solo i dati del filtro corrispondente e il corpo del messaggio potrebbe essere necessario esaminare.

Note per gli implementatori

Se più filtri corrispondono al messaggio, deve essere generata un'eccezione MultipleFilterMatchesException .

Si applica a