IMessageFilterTable<TFilterData>.GetMatchingValue Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- value
- TFilterData
out
pará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
out
pará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.