Compartilhar via


MessageQueryCollection.Evaluate Método

Definição

Executa uma consulta em relação à mensagem e retorna um valor que atende à consulta.

Sobrecargas

Evaluate<TResult>(Message)

Executa uma consulta em relação à mensagem e retorna um resultado. O corpo não pode ser consultado.

Evaluate<TResult>(MessageBuffer)

Executa uma consulta em relação à mensagem e retorna um resultado.

Comentários

A diferença entre as duas sobrecargas é que um usa um Message parâmetro e não tem permissão para examinar o corpo. O outro usa um MessageBuffer parâmetro e pode examinar qualquer parte da mensagem. Os cabeçalhos de mensagem são automaticamente armazenados em buffer e podem ser consultados sem serem consumidos. No entanto, se o corpo for consultado, a mensagem inteira deverá ser armazenada em buffer porque um corpo de mensagem não armazenado pode ser consumido pela consulta.

Evaluate<TResult>(Message)

Executa uma consulta em relação à mensagem e retorna um resultado. O corpo não pode ser consultado.

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))

Parâmetros de tipo

TResult

O tipo do resultado da consulta.

Parâmetros

message
Message

A mensagem com relação à qual executar a consulta.

Retornos

IEnumerable<KeyValuePair<MessageQuery,TResult>>

O resultado da consulta. O tipo é determinado pelo argumento TResult genérico.

Aplica-se a

Evaluate<TResult>(MessageBuffer)

Executa uma consulta em relação à mensagem e retorna um resultado.

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))

Parâmetros de tipo

TResult

O tipo de objeto a ser retornado.

Parâmetros

buffer
MessageBuffer

A mensagem com relação à qual executar a consulta.

Retornos

IEnumerable<KeyValuePair<MessageQuery,TResult>>

O resultado da consulta. O tipo é determinado pelo argumento TResult genérico.

Aplica-se a