MessageFilter.Match Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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.