DispatchRuntime Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 :
Transformation des messages entrants en objets et libération de ces objets sous forme d’appels de méthode sur un objet de service.
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 :
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.
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.
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.
Les composants liés à la sécurité peuvent utiliser les propriétés suivantes :
SecurityAuditLogLocation indique où les événements d’audit sont écrits.
ImpersonateCallerForAllOperations contrôle si le service tente de se faire passer pour un autre en utilisant les informations d'identification fournies par le message entrant.
MessageAuthenticationAuditLevel contrôle si les événements d’authentification des messages réussis sont écrits dans le journal des événements spécifié par SecurityAuditLogLocation.
PrincipalPermissionMode contrôle la façon dont la CurrentPrincipal propriété est définie.
ServiceAuthorizationAuditLevel spécifie la façon dont l’audit des événements d’autorisation est effectué.
SuppressAuditFailure spécifie s’il faut supprimer les exceptions non critiques qui se produisent pendant le processus de journalisation.
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) |