Condividi tramite


MessageQueryCollection.Evaluate Metodo

Definizione

Esegue una query rispetto al messaggio e restituisce un valore che soddisfa la query.

Overload

Evaluate<TResult>(Message)

Esegue una query rispetto al messaggio e restituisce un risultato. Non è possibile sottoporre a query il corpo.

Evaluate<TResult>(MessageBuffer)

Esegue una query rispetto al messaggio e restituisce un risultato.

Commenti

La differenza tra i due overload è che uno accetta un parametro Message e non ha la possibilità di esaminare il corpo. L'altro accetta un parametro MessageBuffer e ha la possibilità di esaminare qualsiasi parte del messaggio. Le intestazioni del messaggio vengono automaticamente memorizzate nel buffer e possono essere sottoposte a query senza essere utilizzate. Tuttavia, se il corpo deve essere sottoposto a query, allora l'intero messaggio deve essere memorizzato nel buffer perché un corpo del messaggio non memorizzato nel buffer può essere utilizzato dalla query.

Evaluate<TResult>(Message)

Esegue una query rispetto al messaggio e restituisce un risultato. Non è possibile sottoporre a query il corpo.

public:
generic <typename TResult>
 abstract System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<System::ServiceModel::Dispatcher::MessageQuery ^, TResult>> ^ Evaluate(System::ServiceModel::Channels::Message ^ message);
public abstract System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageQuery,TResult>> Evaluate<TResult> (System.ServiceModel.Channels.Message message);
abstract member Evaluate : System.ServiceModel.Channels.Message -> seq<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageQuery, 'Result>>
Public MustOverride Function Evaluate(Of TResult) (message As Message) As IEnumerable(Of KeyValuePair(Of MessageQuery, TResult))

Parametri di tipo

TResult

Tipo di risultato della query.

Parametri

message
Message

Messaggio su cui eseguire la query.

Restituisce

IEnumerable<KeyValuePair<MessageQuery,TResult>>

Risultato della query. Il tipo è determinato dall'argomento generico TResult.

Si applica a

Evaluate<TResult>(MessageBuffer)

Esegue una query rispetto al messaggio e restituisce un risultato.

public:
generic <typename TResult>
 abstract System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<System::ServiceModel::Dispatcher::MessageQuery ^, TResult>> ^ Evaluate(System::ServiceModel::Channels::MessageBuffer ^ buffer);
public abstract System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageQuery,TResult>> Evaluate<TResult> (System.ServiceModel.Channels.MessageBuffer buffer);
abstract member Evaluate : System.ServiceModel.Channels.MessageBuffer -> seq<System.Collections.Generic.KeyValuePair<System.ServiceModel.Dispatcher.MessageQuery, 'Result>>
Public MustOverride Function Evaluate(Of TResult) (buffer As MessageBuffer) As IEnumerable(Of KeyValuePair(Of MessageQuery, TResult))

Parametri di tipo

TResult

Tipo di oggetto da restituire.

Parametri

buffer
MessageBuffer

Messaggio su cui eseguire la query.

Restituisce

IEnumerable<KeyValuePair<MessageQuery,TResult>>

Risultato della query. Il tipo è determinato dall'argomento generico TResult.

Si applica a