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 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 :
La transformation de messages entrants dans les objets et la diffusion de ces objets comme appels de méthode sur un objet de service.
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 :
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.
Les composants de message sont personnalisés pour chaque message traité. Cette catégorie inclut les propriétés MessageInspectors, OperationSelector, Operations et ErrorHandlers.
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.
Les composants relatifs à 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 essaie d'emprunter l'identité à l'aide des informations d'identification fournies par le message entrant.
MessageAuthenticationAuditLevel contrôle si les événements d'authentification de message réussis sont écrits dans le journal des événements spécifié par SecurityAuditLogLocation.
PrincipalPermissionMode contrôle la façon dont la propriété CurrentPrincipal est définie.
ServiceAuthorizationAuditLevel spécifie comment l'audit d'événements d'autorisation est effectué.
SuppressAuditFailure spécifie s'il faut supprimer les exceptions non critiques qui se produisent pendant le processus d'enregistrement.
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) |