MessageFilter.Match Método

Definición

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

message
Message

Objeto Message que se va a probar.

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.

Se aplica a