Partager via


DispatchRuntime Classe

Définition

Expose les propriétés qui peuvent être utilisées pour modifier le comportement de service par défaut et attacher des objets personnalisés qui peuvent modifier la façon dont les messages entrants sont transformés en objets et distribués aux opérations. Cette classe ne peut pas être héritée.

public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
Héritage
DispatchRuntime

Remarques

Utilisez la DispatchRuntime classe pour modifier le comportement par défaut d’un service ou d’un point de terminaison individuel, ou pour insérer des objets qui implémentent des modifications personnalisées dans un ou les deux processus de service suivants :

  1. Transformation des messages entrants en objets et libération de ces objets sous forme d’appels de méthode sur un objet de service.

  2. Transformation des objets reçus de la réponse à un appel d’opération de service en messages sortants.

Dans Windows Communication Foundation (WCF), les répartiteurs de canal et de point de terminaison sont les composants de service chargés d’accepter de nouveaux canaux, de recevoir des messages, de distribuer des méthodes et d’appeler et de traiter les réponses. Chaque point de terminaison exposé par un ServiceHost objet a un répartiteur de point de terminaison et un répartiteur de canal associé ; en outre, chaque client participant à la communication duplex a également un répartiteur de point de terminaison et un répartiteur de canal pour chaque point de terminaison de rappel.

Le composant DispatchRuntime vous permet d’intercepter et d’étendre le canal ou le répartiteur de point de terminaison pour tous les messages d’un contrat particulier, même lorsqu’un message n’est pas reconnu. Lorsqu’un message arrive qui ne correspond à aucun message déclaré dans le contrat, il est distribué à l’opération retournée par la UnhandledDispatchOperation propriété. Pour intercepter ou étendre tous les messages pour une opération particulière, consultez la DispatchOperation classe.

Il existe quatre domaines principaux d'extensibilité de répartiteur exposés par la classe DispatchRuntime :

  1. Les composants dispatch utilisent les propriétés du répartiteur de DispatchRuntime canal associé retourné par la ChannelDispatcher propriété pour personnaliser la façon dont le répartiteur de canal accepte et ferme les canaux. Cette catégorie inclut les propriétés ChannelInitializers et InputSessionShutdownHandlers.

  2. Les composants de message sont personnalisés pour chaque message traité. Cette catégorie inclut les MessageInspectors, OperationSelector, Operations et les ErrorHandlers propriétés.

  3. Les composants d’instance personnalisent la création, la durée de vie et la suppression des instances du type de service. Pour plus d’informations sur les durées de vie des objets de service, consultez la propriété InstanceContextMode. Cette catégorie inclut les propriétés InstanceContextInitializers et InstanceProvider.

  4. Les composants liés à la sécurité peuvent utiliser les propriétés suivantes :

En règle générale, les objets d’extension personnalisés sont affectés à une DispatchRuntime propriété ou insérés IServiceBehaviordans une collection par un comportement de service (objet qui implémente), un comportement de contrat (objet qui implémente IContractBehavior) ou un comportement de point de terminaison (un objet qui implémente IEndpointBehavior). Ensuite, l’objet de comportement d’installation est ajouté à la collection appropriée de comportements par programme ou en implémentant un objet personnalisé BehaviorExtensionElement pour permettre l’insertion du comportement à l’aide d’un fichier de configuration d’application.

Propriétés

Nom Description
AutomaticInputSessionShutdown

Obtient ou définit une valeur qui spécifie si le service ferme une session d’entrée lorsque le client ferme une session de sortie.

CallbackClientRuntime

Obtient l’objet ClientRuntime qui représente le point d’installation des extensions vers Windows Communication Foundation (WCF) pour les appels sortants vers un point de terminaison de rappel duplex.

ChannelDispatcher

Obtient l’objet ChannelDispatcher d’exécution de cette distribution.

ConcurrencyMode

Obtient ou définit si une instance d’un service traite les messages de manière séquentielle ou simultanée.

EndpointDispatcher

Obtient le EndpointDispatcher runtime de répartition.

EnsureOrderedDispatch

Obtient une valeur qui indique si les messages doivent être distribués dans l’ordre dans lequel ils ont été envoyés.

ExternalAuthorizationPolicies

Obtient ou définit les stratégies d’autorisation externes qui définissent un ensemble de règles pour autoriser un utilisateur, en fonction d’un ensemble de revendications.

IgnoreTransactionMessageProperty

Obtient ou définit s’il faut ignorer le TransactionMessageProperty.

ImpersonateCallerForAllOperations

Obtient ou définit une valeur qui contrôle si le service tente d’emprunter l’identité à l’aide des informations d’identification fournies par le message entrant.

ImpersonateOnSerializingReply

Obtient une valeur qui indique si l’emprunt d’identité est utilisé lors de la sérialisation de l’opération de réponse.

InputSessionShutdownHandlers

Obtient une collection d’objets IInputSessionShutdown qui peuvent être utilisés pour ajouter un gestionnaire personnalisé pour contrôler la fermeture des sessions d’entrée.

InstanceContextInitializers

Obtient une collection d’objets IInstanceContextInitializer qui peuvent être utilisés pour inspecter ou modifier un InstanceContext objet lors de sa création.

InstanceContextProvider

Obtient ou définit la IInstanceContextProvider valeur à utiliser par le DispatchRuntime.

InstanceProvider

Obtient ou définit un IInstanceProvider objet que vous pouvez utiliser pour contrôler la création et la destruction d’objets de service.

MessageAuthenticationAuditLevel

Obtient ou définit une valeur qui spécifie si les événements d’authentification de message réussis sont écrits dans le journal des événements spécifié par SecurityAuditLogLocation.

MessageInspectors

Obtient une collection d’objets qui peuvent être utilisés pour attacher un inspecteur de IDispatchMessageInspector message personnalisé pour tous les messages entrants et sortants sur le point de terminaison.

Operations

Obtient une collection d’objets DispatchOperation qui peuvent être utilisés pour contrôler le comportement d’exécution d’une opération particulière.

OperationSelector

Obtient ou définit l’objet IDispatchOperationSelector qui contrôle la sélection d’une destination DispatchOperation pour un message particulier.

PreserveMessage

Obtient ou définit si le message est conservé.

PrincipalPermissionMode

Obtient ou définit une valeur qui spécifie la façon dont la CurrentPrincipal propriété est définie.

ReleaseServiceInstanceOnTransactionComplete

Obtient ou définit une valeur qui spécifie si l’objet de service est recyclé une fois la transaction terminée.

RoleProvider

Obtient ou définit la valeur personnalisée RoleProvider utilisée par le DispatchRuntime.

SecurityAuditLogLocation

Obtient ou définit l’emplacement du journal d’audit.

ServiceAuthenticationManager

Obtient ou définit l’objet qui gère un processus d’authentification pour les opérations de service.

ServiceAuthorizationAuditLevel

Obtient ou définit une valeur qui contrôle les événements d’autorisation de service audités.

ServiceAuthorizationManager

Obtient la ServiceAuthorizationManager vérification d’autorisation pour le DispatchRuntime.

SingletonInstanceContext

Obtient ou définit le singleton IInstanceContextProvider à utiliser par le DispatchRuntime.

SuppressAuditFailure

Obtient ou définit une valeur qui spécifie s’il faut supprimer des exceptions non critiques qui se produisent pendant le processus de journalisation.

SynchronizationContext

Obtient ou définit le contexte de synchronisation utilisé pour appeler les opérations de service.

TransactionAutoCompleteOnSessionClose

Obtient ou définit une valeur qui spécifie s’il faut terminer automatiquement la transaction actuelle lorsque la session se ferme.

Type

Obtient ou définit le type de contrat.

UnhandledDispatchOperation

Obtient ou définit l’opération à laquelle les messages non reconnus sont distribués.

ValidateMustUnderstand

Obtient ou définit la valeur de ValidateMustUnderstand.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à