MessageFilter.Match Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
När det åsidosättas i en härledd klass testar om ett meddelande eller ett buffrat meddelande uppfyller kriterierna för ett filter.
Överlagringar
| Name | Description |
|---|---|
| Match(Message) |
När det åsidosättas i en härledd klass testar om ett meddelande uppfyller filtervillkoren. Kroppen kan inte undersökas. |
| Match(MessageBuffer) |
När det åsidosättas i en härledd klass testar om ett buffrat meddelande uppfyller kriterierna för ett filter. |
Kommentarer
Skillnaden mellan de två överlagringarna är att en tar en Message parameter och inte får undersöka brödtexten. Den andra tar en MessageBuffer parameter och kan undersöka vilken del av meddelandet som helst. Meddelandehuvuden buffras automatiskt och kan inspekteras av ett filter utan att förbrukas. Men om brödtexten ska inspekteras av ett filter måste hela meddelandet buffras eftersom en obuffertad meddelandetext kan användas av en fråga och dess innehåll förstörs.
Använd Match om undersökning av kroppen inte krävs. Använd Match om det krävs en undersökning av meddelandetexten.
Match(Message)
- Källa:
- MessageFilter.cs
- Källa:
- MessageFilter.cs
- Källa:
- MessageFilter.cs
När det åsidosättas i en härledd klass testar om ett meddelande uppfyller filtervillkoren. Kroppen kan inte undersökas.
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
Parametrar
Returer
trueom objektet Message uppfyller filtervillkoren, annars . false
Kommentarer
Den här metoden kan inte kontrollera innehållet i meddelandetexten.
Anteckningar till implementerare
Om filtret försöker undersöka brödtexten i ett obuffert meddelande måste filtret utlösa en InvalidBodyAccessException. Den bör inte returnera false.
Gäller för
Match(MessageBuffer)
- Källa:
- MessageFilter.cs
- Källa:
- MessageFilter.cs
- Källa:
- MessageFilter.cs
När det åsidosättas i en härledd klass testar om ett buffrat meddelande uppfyller kriterierna för ett filter.
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
Parametrar
- buffer
- MessageBuffer
Objektet MessageBuffer som ska testas.
Returer
trueom objektet MessageBuffer uppfyller filtervillkoren, annars . false
Kommentarer
Meddelandet måste vara helt buffrat om brödtexten ska kontrolleras av filtret. Brödtexten MessageBuffer i är helt buffrad och kan därför kontrolleras av ett filter. Brödtexten i en Message som inte har buffrats fullt ut kan förbrukas av filterkontrollen. Huvudelementet i en Message buffras automatiskt och kan därför inspekteras utan att förbrukas.