Comparteix a través de


MessageFilter Clase

Definición

abstract clase base para diferentes clases de filtros usados para consultar mensajes.

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
Herencia
MessageFilter
Derivado
Atributos

Comentarios

MessageFilter es una clase abstract que los desarrolladores implementan para especificar los criterios que se usarán para inspeccionar los mensajes. Normalmente, una aplicación de punto de conexión usa filtros para determinar qué hacer con un mensaje en función de un examen de alguna parte del mensaje. Un proceso de puesta en cola, por ejemplo, puede usar una consulta XPath 1.0 para comprobar el elemento de prioridad de un encabezado conocido para determinar si se va a mover un mensaje a la parte frontal de la cola.

Los filtros se almacenan en una tabla de filtros que implementa IMessageFilterTable<TFilterData>. Cada filtro de la tabla está asociado a los datos de filtro especificados que se pueden usar para indicar qué acciones realizar si un mensaje coincide con el filtro. Los métodos Match se usan para determinar si un mensaje satisface un filtro.

Los criterios utilizados por un filtro no se pueden cambiar una vez construido el filtro porque las tablas de filtros no tienen forma de detectar un cambio. La única manera de modificar los criterios de un filtro es construir uno nuevo y eliminar el filtro existente.

Las siguientes clases implementan la clase abstractMessageFilter:

ChannelListenerBase<TChannel> es una clase base de abstract que puede usar para escribir agentes de escucha que no son colas.

Constructores

MessageFilter()

Cuando se llama en una clase derivada, inicializa una nueva instancia de la clase MessageFilter.

Métodos

CreateFilterTable<FilterData>()

Crea una tabla de filtro para un filtro que tiene un tipo de datos especificado asociado a él.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Match(Message)

Cuando se invalida en una clase derivada, comprueba si un mensaje cumple los criterios de filtro. No se puede examinar el cuerpo.

Match(MessageBuffer)

Cuando se reemplaza en una clase derivada, comprueba si un mensaje almacenado en búfer satisface los criterios de un filtro.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a