Compartir a través de


DispatchRuntime Clase

Definición

Expone propiedades que se pueden utilizar para modificar el comportamiento del servicio predeterminado y adjunta objetos personalizados que pueden modificar el modo en que los mensajes entrantes se transforman en objetos y envían a las operaciones. Esta clase no puede heredarse.

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

Comentarios

Utilice la clase DispatchRuntime para modificar el comportamiento predeterminado de un punto de conexión de servicio o individual o bien para insertar objetos que implementan las modificaciones personalizadas a uno o a los dos procesos del servicio siguientes:

  1. La transformación de mensajes entrantes en los objetos y la suelta de esos objetos como invocaciones de método en un objeto de servicio.

  2. La transformación de objetos recibidos de la respuesta a una invocación de operación de servicio en mensajes salientes.

En Windows Communication Foundation (WCF), los distribuidores de canales y puntos de conexión son los componentes de servicio responsables de aceptar nuevos canales, recibir mensajes, distribución de métodos e invocación y procesamiento de respuestas. Cada punto de conexión expuesto por un objeto ServiceHost tiene un distribuidor del punto de conexión y un distribuidor del canal asociado; además, cada cliente que participa en comunicación dúplex también tiene un distribuidor del punto de conexión y un distribuidor del canal para cada punto de conexión de devolución de llamada.

DispatchRuntime le permite interceptar y extender el canal o el distribuidor del extremo para todos los mensajes de un contrato determinado, incluso cuando no se reconoce un mensaje. Cuando llega un mensaje que no coincide con ningún mensaje declarado en el contrato, se envía a la operación devuelta por la propiedad UnhandledDispatchOperation. Para interceptar o extenderse por todos los mensajes de una operación determinada, vea la clase DispatchOperation.

Hay cuatro áreas principales de extensibilidad del distribuidor expuestas por la clase DispatchRuntime:

  1. Los componentes de envío utilizan las propiedades de DispatchRuntime y las del distribuidor del canal asociado devueltas por la propiedad ChannelDispatcher para personalizar cómo el distribuidor del canal acepta y cierra los canales. Esta categoría incluye las propiedades ChannelInitializers y InputSessionShutdownHandlers.

  2. Los componentes de mensaje se personalizan para cada mensaje procesado. Esta categoría incluye las propiedades MessageInspectors, OperationSelector, Operations y ErrorHandlers.

  3. Los componentes de instancia personalizan la creación, duración y eliminación de instancias del tipo de servicio. Para obtener más información acerca de la duración de los objetos de servicio, vea la propiedad InstanceContextMode. Esta categoría incluye las propiedades InstanceContextInitializers y InstanceProvider.

  4. Los componentes relacionados con seguridad pueden utilizar las propiedades siguientes:

Normalmente, un comportamiento de servicio (un objeto que implementa DispatchRuntime), un comportamiento de contrato (un objeto que implementa IServiceBehavior) o un comportamiento de extremo (un objeto que implementa IContractBehavior) pueden asignar objetos de extensión a una propiedad IEndpointBehavior o insertarlos en una colección. Entonces, el objeto de comportamiento de instalación se agrega a la colección adecuada de comportamientos mediante programación o implementando un objeto BehaviorExtensionElement personalizado para permitir insertar el comportamiento con un archivo de configuración de la aplicación.

Propiedades

AutomaticInputSessionShutdown

Obtiene o establece un valor que especifica si el servicio cierra una sesión de entrada cuando el cliente cierra una sesión de salida.

CallbackClientRuntime

Obtiene el objeto ClientRuntime que representa el punto de instalación para las extensiones de Windows Communication Foundation (WCF) para las llamadas salientes a un punto de conexión de devolución de llamada dúplex.

ChannelDispatcher

Obtiene el ChannelDispatcher para este objeto de envío en tiempo de ejecución.

ConcurrencyMode

Obtiene o establece si una instancia de un servicio procesa los mensajes de forma secuencial o simultánea.

EndpointDispatcher

Obtiene EndpointDispatcher para este tiempo de ejecución de envío.

EnsureOrderedDispatch

Obtiene un valor booleano que indica si los mensajes se van a enviar en el orden en el que se enviaron.

ExternalAuthorizationPolicies

Obtiene o establece las directivas de autorización externas que definen un conjunto de reglas para autorizar a un usuario, dado un conjunto de notificaciones.

IgnoreTransactionMessageProperty

Obtiene o establece si omitir TransactionMessageProperty.

ImpersonateCallerForAllOperations

Obtiene o establece un valor que controla si el servicio intenta suplantar mediante las credenciales proporcionadas por el mensaje entrante.

ImpersonateOnSerializingReply

Obtiene un valor que indica si se utiliza la suplantación en la operación de respuesta de serialización.

InputSessionShutdownHandlers

Obtiene una colección de objetos IInputSessionShutdown que se pueden utilizar para agregar un controlador personalizado para controlar cómo se cierran las sesiones de entrada.

InstanceContextInitializers

Obtiene una colección de objetos IInstanceContextInitializer que se pueden utilizar para inspeccionar o modificar un objeto InstanceContext cuando se crea por primera vez.

InstanceContextProvider

Obtiene o establece el IInstanceContextProvider que DispatchRuntime va a utilizar.

InstanceProvider

Obtiene o establece un objeto IInstanceProvider que puede utilizar para controlar la creación y la destrucción de objetos de servicio.

MessageAuthenticationAuditLevel

Obtiene o establece un valor que especifica si los eventos de autenticación de mensajes correctos se escriben en el registro de eventos especificado por SecurityAuditLogLocation.

MessageInspectors

Obtiene una colección de los objetos IDispatchMessageInspector que se pueden utilizar para asociar a un inspector del mensaje personalizado para todos los mensajes que entran y salen por el punto de conexión.

Operations

Obtiene una colección de los objetos DispatchOperation que se pueden utilizar para controlar el comportamiento de ejecución de una operación determinada.

OperationSelector

Obtiene o establece el objeto IDispatchOperationSelector que controla la selección de destino DispatchOperation para un mensaje determinado.

PreserveMessage

Obtiene o establece si se conserva el mensaje.

PrincipalPermissionMode

Obtiene o establece un valor que especifica cómo se establece la propiedad CurrentPrincipal.

ReleaseServiceInstanceOnTransactionComplete

Obtiene o establece un valor que especifica si el objeto de servicio se recicla después de que la transacción se complete correctamente.

RoleProvider

Obtiene o establece el RoleProvider predeterminado utilizado por DispatchRuntime.

SecurityAuditLogLocation

Obtiene o establece la ubicación del registro de auditoría.

ServiceAuthenticationManager

Obtiene o establece el objeto que administra un proceso de autenticación para las operaciones del servicio.

ServiceAuthorizationAuditLevel

Obtiene o establece un valor que controla qué eventos de autorización de servicio se someten a auditoría.

ServiceAuthorizationManager

Obtiene ServiceAuthorizationManager que proporciona comprobación de la autorización para DispatchRuntime.

SingletonInstanceContext

Obtiene o establece la interfaz IInstanceContextProvider singleton que DispatchRuntime va a utilizar.

SuppressAuditFailure

Obtiene o establece un valor que especifica si se suprimen las excepciones no críticas que se producen durante el proceso de registro.

SynchronizationContext

Obtiene o establece el contexto de sincronización que se utiliza para invocar las operaciones de servicio.

TransactionAutoCompleteOnSessionClose

Obtiene o establece un valor que especifica si la transacción actual se finaliza automáticamente cuando la se cierra la sesión.

Type

Obtiene o establece el tipo de contrato.

UnhandledDispatchOperation

Obtiene o establece la operación a la que se envían los mensajes desconocidos.

ValidateMustUnderstand

Obtiene o establece el valor de ValidateMustUnderstand.

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