Compartir vía


IMessageFilterTable<TFilterData>.GetMatchingValue Método

Definición

Devuelve un valor que indica si el mensaje o el mensaje almacenado en búfer especificado satisface los criterios de coincidencia de un filtro de la tabla, y devuelve los datos del filtro coincidente.

Sobrecargas

GetMatchingValue(Message, TFilterData)

Devuelve un valor que indica si el mensaje especificado satisface los criterios de coincidencia de exactamente un filtro de la tabla y agrega los datos del filtro coincidente a una colección.

GetMatchingValue(MessageBuffer, TFilterData)

Devuelve un valor que indica si el mensaje almacenado en búfer especificado satisface los criterios de coincidencia de exactamente un filtro de la tabla y agrega los datos del filtro coincidentes a una colección.

Comentarios

Use uno de estos métodos cuando, a lo sumo, se espera que un filtro coincida con el mensaje y sólo se deban recuperar los datos del filtro correspondiente. Estos métodos devuelven un valor booleano que indica si se encontró un filtro correspondiente y estableció el parámetro de referencia data en los datos del filtro correspondiente.

Use GetMatchingFilter si ninguno de los filtros de la tabla de filtros inspecciona el cuerpo del mensaje.

Si el cuerpo del mensaje podría ser inspeccionado por un filtro de la tabla de filtros, almacene en búfer el mensaje y páselo a la versión GetMatchingFilter del método.

GetMatchingValue(Message, TFilterData)

Source:
IMessageFilterTable.cs

Devuelve un valor que indica si el mensaje especificado satisface los criterios de coincidencia de exactamente un filtro de la tabla y agrega los datos del filtro coincidente a una colección.

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

Parámetros

message
Message

Message que se va a probar.

value
TFilterData

outparámetro que almacena el FilterData objeto que coincide con .message

Devoluciones

true si el mensaje satisface los criterios de coincidencia de exactamente un filtro de la tabla; false si no se cumple ningún filtro.

Comentarios

Use este método cuando se espera que un único filtro coincida con el mensaje y sólo se deban recuperar los datos del filtro correspondiente.

Este método espera que haya a lo sumo un filtro coincidente. Si más de un filtro coincide, se debe iniciar una MultipleFilterMatchesException.

Si el cuerpo del mensaje debe ser inspeccionado por un filtro de la tabla de filtros, almacene en búfer el mensaje con CreateBufferedCopy y páselo a la versión GetMatchingValue del método.

Notas a los implementadores

Si hay más de un filtro que coincide con el mensaje, se debe iniciar una excepción MultipleFilterMatchesException.

Esta sobrecarga toma Message y debe iniciar una InvalidBodyAccessException si intenta examinar el cuerpo del mensaje.

Se aplica a

GetMatchingValue(MessageBuffer, TFilterData)

Source:
IMessageFilterTable.cs

Devuelve un valor que indica si el mensaje almacenado en búfer especificado satisface los criterios de coincidencia de exactamente un filtro de la tabla y agrega los datos del filtro coincidentes a una colección.

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

Parámetros

messageBuffer
MessageBuffer

MessageBuffer que se va a probar.

value
TFilterData

outparámetro que almacena el FilterData objeto que coincide con .messageBuffer

Devoluciones

true si el mensaje satisface los criterios de coincidencia de exactamente un filtro de la tabla; false si no se cumple ningún filtro.

Comentarios

Use este método cuando se espera que un único filtro coincida con el mensaje almacenado en búfer, sólo se deban recuperar los datos del filtro correspondiente y el cuerpo del mensaje podría tener que ser inspeccionado.

Notas a los implementadores

Si hay más de un filtro que coincide con el mensaje, se debe iniciar una excepción MultipleFilterMatchesException.

Se aplica a