Aracılığıyla paylaş


MessageFilter Sınıf

Tanım

abstract iletileri sorgulamak için kullanılan farklı filtre sınıfları için temel sınıf.

public ref class MessageFilter abstract
[System.Runtime.Serialization.DataContract]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.ActionMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.XPathMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchAllMessageFilter))]
[System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchNoneMessageFilter))]
public abstract class MessageFilter
[<System.Runtime.Serialization.DataContract>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.ActionMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.XPathMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchAllMessageFilter))>]
[<System.Runtime.Serialization.KnownType(typeof(System.ServiceModel.Dispatcher.MatchNoneMessageFilter))>]
type MessageFilter = class
Public MustInherit Class MessageFilter
Devralma
MessageFilter
Türetilmiş
Öznitelikler

Açıklamalar

MessageFilter, geliştiricilerin iletileri incelemek için kullanılacak ölçütleri belirtmek üzere uyguladığı bir abstract sınıfıdır. Filtreler genellikle bir uç nokta uygulaması tarafından iletinin bir bölümünün incelenmesine bağlı olarak iletiyle ne yapacağını belirlemek için kullanılır. Örneğin bir kuyruğa alma işlemi, bir iletiyi kuyruğun önüne taşıyıp taşımayacağını belirlemek üzere bilinen üst bilginin öncelik öğesini denetlemek için XPath 1.0 sorgusu kullanabilir.

Filtreler, IMessageFilterTable<TFilterData>uygulayan bir filtre tablosunda depolanır. Tablodaki her filtre, bir ileti filtreyle eşleşirse gerçekleştirilecek eylemleri belirtmek için kullanılabilecek belirtilen filtre verileriyle ilişkilendirilir. Match yöntemleri, bir iletinin filtreyi karşılar mı belirlemek için kullanılır.

Filtre tablolarının bir değişikliği algılama yolu olmadığından, filtre oluşturulduğunda filtre tarafından kullanılan ölçütler değiştirilemez. Filtrenin ölçütlerini değiştirmenin tek yolu yeni bir filtre oluşturmak ve var olan filtreyi silmektir.

Aşağıdaki sınıflar abstractMessageFilter sınıfını uygular:

ChannelListenerBase<TChannel>, kuyruğa almamış dinleyiciler yazmak için kullanabileceğiniz abstract temel sınıfıdır.

Oluşturucular

MessageFilter()

Türetilmiş bir sınıfta çağrıldığında, MessageFilter sınıfının yeni bir örneğini başlatır.

Yöntemler

CreateFilterTable<FilterData>()

Kendisiyle ilişkilendirilmiş belirli bir veri türüne sahip bir filtre için filtre tablosu oluşturur.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
Match(Message)

Türetilmiş bir sınıfta geçersiz kılındığında, iletinin filtre ölçütlerini karşılayıp karşılamadığını test eder. Vücut incelenemez.

Match(MessageBuffer)

Türetilmiş bir sınıfta geçersiz kılındığında, arabelleğe alınan iletinin filtre ölçütlerini karşılayıp karşılamadığını test eder.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır