MessageFilter.Match Metod

Definition

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

message
Message

Objektet Message som ska testas.

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.

Gäller för