MessageFilter.Match 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í.
Cuando se invalida en una clase derivada, comprueba si un mensaje o un mensaje almacenado en búfer satisface los criterios de un filtro.
Sobrecargas
| Nombre | Description |
|---|---|
| Match(Message) |
Cuando se invalida en una clase derivada, comprueba si un mensaje cumple los criterios de filtro. No se puede examinar el cuerpo. |
| Match(MessageBuffer) |
Cuando se reemplaza en una clase derivada, comprueba si un mensaje almacenado en búfer satisface los criterios de un filtro. |
Comentarios
La diferencia entre las dos sobrecargas es que una toma un Message parámetro y no se permite examinar el cuerpo. El otro toma un MessageBuffer parámetro y puede examinar cualquier parte del mensaje. Los encabezados de mensaje se almacenan en búfer automáticamente y se pueden inspeccionar mediante un filtro sin consumirse. Pero si un filtro va a inspeccionar el cuerpo, se debe almacenar en búfer todo el mensaje porque una consulta puede consumir un cuerpo de mensaje sin búfer y su contenido destruido.
Utilice Match si no se requiere el examen del cuerpo. Use Match si se requiere el examen del cuerpo del mensaje.
Match(Message)
- Source:
- MessageFilter.cs
- Source:
- MessageFilter.cs
- Source:
- MessageFilter.cs
Cuando se invalida en una clase derivada, comprueba si un mensaje cumple los criterios de filtro. No se puede examinar el cuerpo.
public:
abstract bool Match(System::ServiceModel::Channels::Message ^ message);
public abstract bool Match(System.ServiceModel.Channels.Message message);
abstract member Match : System.ServiceModel.Channels.Message -> bool
Public MustOverride Function Match (message As Message) As Boolean
Parámetros
Devoluciones
true es si el Message objeto cumple los criterios de filtro; de lo contrario, falsees .
Comentarios
Este método no puede inspeccionar el contenido del cuerpo del mensaje.
Notas a los implementadores
Si el filtro intenta examinar el cuerpo de un mensaje no almacenado en búfer, el filtro debe iniciar un InvalidBodyAccessException. No debe devolver false.
Se aplica a
Match(MessageBuffer)
- Source:
- MessageFilter.cs
- Source:
- MessageFilter.cs
- Source:
- MessageFilter.cs
Cuando se reemplaza en una clase derivada, comprueba si un mensaje almacenado en búfer satisface los criterios de un filtro.
public:
abstract bool Match(System::ServiceModel::Channels::MessageBuffer ^ buffer);
public abstract bool Match(System.ServiceModel.Channels.MessageBuffer buffer);
abstract member Match : System.ServiceModel.Channels.MessageBuffer -> bool
Public MustOverride Function Match (buffer As MessageBuffer) As Boolean
Parámetros
- buffer
- MessageBuffer
Objeto MessageBuffer que se va a probar.
Devoluciones
true es si el MessageBuffer objeto cumple los criterios de filtro; de lo contrario, falsees .
Comentarios
El mensaje debe estar completamente almacenado en búfer si el filtro va a inspeccionar el cuerpo. El cuerpo de MessageBuffer está completamente almacenado en búfer y, por tanto, un filtro puede inspeccionarlo. El cuerpo de un Message objeto que no se ha almacenado completamente en búfer puede ser consumido por la inspección del filtro. El elemento de encabezado de se Message almacena en búfer automáticamente y, por tanto, se puede inspeccionar sin consumirse.