MessageFilter.Match Metodo

Definizione

In caso di override in una classe derivata, verifica se un messaggio o un messaggio memorizzato nel buffer soddisfa i criteri di un filtro.

Overload

Nome Descrizione
Match(Message)

In caso di override in una classe derivata, verifica se un messaggio soddisfa i criteri di filtro. Il corpo non può essere esaminato.

Match(MessageBuffer)

In caso di override in una classe derivata, verifica se un messaggio memorizzato nel buffer soddisfa i criteri di un filtro.

Commenti

La differenza tra i due overload è che uno accetta un Message parametro e non è autorizzato a esaminare il corpo. L'altro accetta un MessageBuffer parametro e può esaminare qualsiasi parte del messaggio. Le intestazioni dei messaggi vengono memorizzate automaticamente nel buffer e possono essere esaminate da un filtro senza essere utilizzate. Tuttavia, se il corpo deve essere controllato da un filtro, l'intero messaggio deve essere memorizzato nel buffer perché un corpo del messaggio non memorizzato nel buffer può essere utilizzato da una query e il relativo contenuto distrutto.

Utilizzare Match se l'esame del corpo non è obbligatorio. Utilizzare Match se è necessario esaminare il corpo del messaggio.

Match(Message)

Origine:
MessageFilter.cs
Origine:
MessageFilter.cs
Origine:
MessageFilter.cs

In caso di override in una classe derivata, verifica se un messaggio soddisfa i criteri di filtro. Il corpo non può essere esaminato.

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

Parametri

message
Message

Oggetto Message da testare.

Valori restituiti

true se l'oggetto Message soddisfa i criteri di filtro; in caso contrario, false.

Commenti

Questo metodo non può esaminare il contenuto del corpo del messaggio.

Note per gli implementatori

Se il filtro tenta di esaminare il corpo di un messaggio non memorizzato nel buffer, il filtro deve generare un'eccezione InvalidBodyAccessException. Non deve restituire false.

Si applica a

Match(MessageBuffer)

Origine:
MessageFilter.cs
Origine:
MessageFilter.cs
Origine:
MessageFilter.cs

In caso di override in una classe derivata, verifica se un messaggio memorizzato nel buffer soddisfa i criteri di 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

Parametri

buffer
MessageBuffer

Oggetto MessageBuffer da testare.

Valori restituiti

true se l'oggetto MessageBuffer soddisfa i criteri di filtro; in caso contrario, false.

Commenti

Il messaggio deve essere memorizzato nel buffer completo se il corpo deve essere controllato dal filtro. Il corpo di MessageBuffer è completamente memorizzato nel buffer e pertanto può essere controllato da un filtro. Il corpo di un oggetto Message che non è stato completamente memorizzato nel buffer può essere utilizzato dall'ispezione del filtro. L'elemento di intestazione di un Message oggetto viene memorizzato automaticamente nel buffer e pertanto può essere controllato senza essere utilizzato.

Si applica a