DispatchRuntime Classe

Définition

Expose des propriétés qui peuvent être utilisées pour modifier le comportement de service par défaut et pour joindre des objets personnalisés qui peuvent modifier la manière 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 classe DispatchRuntime pour modifier le comportement par défaut d'un service ou d'un point de terminaison individuel, ou pour insérer des objets implémentant des modifications personnalisées dans l'un ou les deux processus de service suivants :

  1. La transformation de messages entrants dans les objets et la diffusion de ces objets comme appels de méthode sur un objet de service.

  2. La transformation d'objets reçu de la réponse à un appel d'opération de service dans des 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 et d’appeler des méthodes et de traiter les réponses. Chaque point de terminaison exposé par un objet ServiceHost possède un répartiteur de point de terminaison et un répartiteur de canal associé ; en outre, chaque client qui participe à la communication duplex possède également un répartiteur de point de terminaison et un répartiteur de canal pour chaque point de terminaison de rappel.

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

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

  1. Les composants du répartiteur utilisent les propriétés de DispatchRuntime et celles du répartiteur de canal associé retournées par la propriété ChannelDispatcher pour personnaliser la façon dont le répartiteur de canal accepte et ferme des 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 propriétés MessageInspectors, OperationSelector, Operations et ErrorHandlers.

  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 la durée de vie de l'objet de service, consultez la propriété InstanceContextMode. Cette catégorie inclut les propriétés InstanceContextInitializers et InstanceProvider.

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

Généralement, des objets d'extension personnalisés sont affectés à une propriété DispatchRuntime ou insérés dans une collection par un comportement de service (un objet qui implémente IServiceBehavior), un comportement de contrat (un objet qui implémente IContractBehavior) ou un comportement de point de terminaison (un objet qui implémente IEndpointBehavior). Puis, l’objet de comportement installé est ajouté à la collection appropriée de comportements soit via le programme soit en implémentant un objet BehaviorExtensionElement personnalisé pour que le comportement soit inséré à l’aide d’un fichier de configuration d’application.

Propriétés

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 de Windows Communication Foundation (WCF) pour les appels sortants vers un point de terminaison de rappel duplex.

ChannelDispatcher

Obtient ChannelDispatcher pour cet objet d'exécution de répartition.

ConcurrencyMode

Obtient ou définit si une instance d'un service traite des messages séquentiellement ou concurremment.

EndpointDispatcher

Obtient EndpointDispatcher pour cette exécution 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 jeu de règles pour autoriser un utilisateur, en fonction d'un jeu de revendications.

IgnoreTransactionMessageProperty

Obtient ou définit s'il faut ignorer TransactionMessageProperty.

ImpersonateCallerForAllOperations

Obtient ou définit la valeur qui contrôle si le service essaie 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é sur la sérialisation de l'opération de réponse.

InputSessionShutdownHandlers

Obtient une collection des objets IInputSessionShutdown qui peuvent être utilisés pour ajouter un gestionnaire personnalisé pour contrôler la manière dont les sessions d’entrée sont fermées.

InstanceContextInitializers

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

InstanceContextProvider

Obtient ou définit le IInstanceContextProvider devant être utilisé par DispatchRuntime.

InstanceProvider

Obtient ou définit un objet IInstanceProvider 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 IDispatchMessageInspector qui peuvent être utilisés pour joindre un inspecteur de message personnalisé pour tous les messages entrants et sortants à travers 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 comment la propriété CurrentPrincipal est définie.

ReleaseServiceInstanceOnTransactionComplete

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

RoleProvider

Obtient ou définit le RoleProvider personnalisé utilisé par 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 quels événements d'autorisation de service sont vérifiés.

ServiceAuthorizationManager

Obtient ServiceAuthorizationManager qui fournit la vérification d'autorisation pour DispatchRuntime.

SingletonInstanceContext

Obtient ou définit le singleton IInstanceContextProvider devant être utilisé par 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 d'enregistrement.

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 si la transaction en cours doit être terminée automatiquement lors de la fermeture de la session.

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

Equals(Object)

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

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

S’applique à