EndpointDispatcher Clase

Definición

Representa el objeto de tiempo de ejecución que expone propiedades que permiten insertar extensiones o modificaciones en tiempo de ejecución para los mensajes de aplicaciones de servicio.

public ref class EndpointDispatcher
public ref class EndpointDispatcher sealed
public class EndpointDispatcher
public sealed class EndpointDispatcher
type EndpointDispatcher = class
Public Class EndpointDispatcher
Public NotInheritable Class EndpointDispatcher
Herencia
EndpointDispatcher

Ejemplos

En el ejemplo de código siguiente se muestra el uso de EndpointDispatcher para buscar System.ServiceModel.Dispatcher.DispatchRuntime para el extremo e inserta un inspector de mensajes personalizado utilizando un comportamiento de extremo.

// IEndpointBehavior Members
public void AddBindingParameters(ServiceEndpoint serviceEndpoint, System.ServiceModel.Channels.BindingParameterCollection bindingParameters)
{
  return;
}

public void ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior)
{
  behavior.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}

public void ApplyDispatchBehavior(ServiceEndpoint serviceEndpoint, EndpointDispatcher endpointDispatcher)
{
  endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}

public void Validate(ServiceEndpoint serviceEndpoint)
{
  return;
}

Comentarios

Las clases EndpointDispatcher y System.ServiceModel.Dispatcher.DispatchRuntime exponen los puntos de personalización en tiempo de ejecución para los extremos de un servicio. La clase EndpointDispatcher se puede utilizar para controlar qué mensajes puede procesar y cierta información relacionada con el extremo. La clase DispatchRuntime tiene un gran número de propiedades que se usan para insertar las extensiones personalizadas en el tiempo de ejecución de todo el punto de conexión.

El objeto EndpointDispatcher es responsable de procesar los mensajes de un objeto System.ServiceModel.Dispatcher.ChannelDispatcher cuando la dirección de destino de un mensaje coincide con la propiedad AddressFilter y la acción del mensaje coincide con la propiedad ContractFilter. Si dos objetos EndpointDispatcher pueden aceptar un mensaje, el valor de la propiedad FilterPriority determina el punto de conexión de mayor prioridad.

Use el objeto EndpointDispatcher para configurar o extender el proceso de recepción de mensajes del objeto ChannelDispatcherasociado, convirtiendo los objetos de mensaje en objetos utilizados como parámetros, e invocando una operación de punto de conexión así como el proceso inverso.

Normalmente, el objeto EndpointDispatcher para un extremo se obtiene implementando la interfaz IEndpointBehavior, pero se puede tener acceso al objeto EndpointDispatcher desde las otras interfaces de comportamiento.

Puede usar las siguientes propiedades de EndpointDispatcher:

  • La propiedad AddressFilter le permite obtener o establecer un objeto MessageFilter que ChannelDispatcher utiliza para identificar si el extremo puede procesar un mensaje determinado.

  • La propiedad ChannelDispatcher obtiene el objeto ChannelDispatcher asociado, que envía y recibe los mensajes de EndpointDispatcher, y que se puede utilizar para inspeccionar o modificar otros valores y comportamientos relacionados con los canales.

  • La propiedad ContractFilter obtiene el objeto MessageFilter que se usa para identificar si un mensaje está destinado a este contrato.

  • Las propiedades ContractName y ContractNamespace devuelven el nombre y el espacio de nombres del contrato del punto de conexión.

  • La propiedad DispatchRuntime devuelve el objeto DispatchRuntime que se puede usar para modificar valores en tiempo de ejecución o insertar extensiones en tiempo de ejecución personalizadas para todo el punto de conexión.

  • La propiedad EndpointAddress obtiene la dirección del punto de conexión.

  • La propiedad FilterPriority devuelve la prioridad del filtro compuesto que ChannelDispatcher utiliza para establecer qué extremo va a controlar el mensaje.

Constructores

EndpointDispatcher(EndpointAddress, String, String)

Inicializa una instancia nueva de la clase EndpointDispatcher con la dirección, nombre de contrato y espacio de nombres del contrato especificados.

EndpointDispatcher(EndpointAddress, String, String, Boolean)

Inicializa una nueva instancia de la clase EndpointDispatcher con la dirección especificada, el nombre del contrato, el espacio de nombres del contrato y si el extremo es un extremo del sistema público.

Propiedades

AddressFilter

Obtiene o establece un objeto MessageFilter que se utiliza para identificar si un mensaje determinado está destinado a la dirección del extremo.

ChannelDispatcher

Obtiene el objeto ChannelDispatcher asociado, que se puede usar para inspeccionar o modificar otros valores y comportamientos relacionados con los canales.

ContractFilter

Obtiene o establece el objeto MessageFilter que se usa para identificar si un mensaje está destinado a este contrato.

ContractName

Obtiene el nombre del contrato para el punto de conexión.

ContractNamespace

Obtiene el espacio de nombres del contrato del punto de conexión.

DispatchRuntime

Obtiene el objeto DispatchRuntime utilizado para inspeccionar, modificar o extender el comportamiento del tiempo de ejecución por un punto de conexión de servicio o un punto de conexión de devolución de llamada de cliente.

EndpointAddress

Obtiene la dirección del extremo.

FilterPriority

Obtiene o establece la prioridad de ContractFilter y la combinación de AddressFilter cuando ChannelDispatcher está seleccionando puntos de conexión.

IsSystemEndpoint

Obtiene un valor que indica si el punto de conexión lo creó internamente el servidor y no el usuario.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a