DispatchRuntime Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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:
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.
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:
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.
Los componentes de mensaje se personalizan para cada mensaje procesado. Esta categoría incluye las propiedades MessageInspectors, OperationSelector, Operations y ErrorHandlers.
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.
Los componentes relacionados con seguridad pueden utilizar las propiedades siguientes:
SecurityAuditLogLocation indica donde se escriben los eventos de auditoría.
ImpersonateCallerForAllOperations controla si el servicio intenta suplantar mediante las credenciales proporcionadas por el mensaje entrante.
MessageAuthenticationAuditLevel controla si los eventos de autenticación de mensajes correctos se escriben en el registro de eventos especificado por SecurityAuditLogLocation.
PrincipalPermissionMode controla cómo se establece la propiedad CurrentPrincipal.
ServiceAuthorizationAuditLevel especifica cómo se realiza la auditoría de eventos de autorización.
SuppressAuditFailure especifica si suprimir excepciones no críticas que producen durante el proceso del registro.
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) |