ClientRuntime 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.
Représente le point d’insertion pour les classes qui étendent les fonctionnalités des objets clients Windows Communication Foundation (WCF) pour tous les messages gérés par une application cliente.
public ref class ClientRuntime sealed
public ref class ClientRuntime sealed : System::ServiceModel::Dispatcher::ClientRuntimeCompatBase
public sealed class ClientRuntime
public sealed class ClientRuntime : System.ServiceModel.Dispatcher.ClientRuntimeCompatBase
type ClientRuntime = class
type ClientRuntime = class
inherit ClientRuntimeCompatBase
Public NotInheritable Class ClientRuntime
Public NotInheritable Class ClientRuntime
Inherits ClientRuntimeCompatBase
- Héritage
-
ClientRuntime
- Héritage
Exemples
Dans l'exemple de code suivant, un System.ServiceModel.Description.IEndpointBehavior insère un System.ServiceModel.Dispatcher.IClientMessageInspector dans l'exécution du client en l'ajoutant à la propriété MessageInspectors.
#region IEndpointBehavior Members
public void AddBindingParameters(
ServiceEndpoint endpoint, BindingParameterCollection bindingParameters
) { return; }
public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
{
clientRuntime.MessageInspectors.Add(new Inspector());
foreach (ClientOperation op in clientRuntime.Operations)
op.ParameterInspectors.Add(new Inspector());
}
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
{
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new Inspector());
foreach (DispatchOperation op in endpointDispatcher.DispatchRuntime.Operations)
op.ParameterInspectors.Add(new Inspector());
}
public void Validate(ServiceEndpoint endpoint){ return; }
#Region "IEndpointBehavior Members"
Public Sub AddBindingParameters(ByVal endpoint As ServiceEndpoint, ByVal bindingParameters _
As BindingParameterCollection) Implements IEndpointBehavior.AddBindingParameters
Return
End Sub
Public Sub ApplyClientBehavior(ByVal endpoint As ServiceEndpoint, ByVal clientRuntime As ClientRuntime) _
Implements IEndpointBehavior.ApplyClientBehavior
clientRuntime.MessageInspectors.Add(New Inspector())
For Each op As ClientOperation In clientRuntime.Operations
op.ParameterInspectors.Add(New Inspector())
Next op
End Sub
Public Sub ApplyDispatchBehavior(ByVal endpoint As ServiceEndpoint, ByVal endpointDispatcher As _
EndpointDispatcher) Implements IEndpointBehavior.ApplyDispatchBehavior
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(New Inspector())
For Each op As DispatchOperation In endpointDispatcher.DispatchRuntime.Operations
op.ParameterInspectors.Add(New Inspector())
Next op
End Sub
Public Sub Validate(ByVal endpoint As ServiceEndpoint) Implements IEndpointBehavior.Validate
Return
End Sub
L'exemple de code suivant présente un fichier de configuration qui charge le comportement de point de terminaison dans le point de terminaison client.
<client>
<endpoint
address="http://localhost:8080/SampleService"
behaviorConfiguration="clientInspectorsAdded"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_ISampleService"
contract="ISampleService"
name="WSHttpBinding_ISampleService"
>
</endpoint>
</client>
<behaviors>
<endpointBehaviors>
<behavior name="clientInspectorsAdded">
<clientInterceptors />
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add
name="clientInterceptors"
type="Microsoft.WCF.Documentation.InspectorInserter, HostApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
/>
</behaviorExtensions>
</extensions>
Remarques
Les objets clients WCF, qu’il s’agisse d’une extension ou ClientBase<TChannel> d’une IClientChannelextension, sont utilisés par Windows applications clientes Communication Foundation (WCF) pour convertir les appels de méthode en messages sortants et convertir les messages entrants en objets et les transmettre aux résultats des méthodes clientes.
La classe ClientRuntime est un point d'extensibilité auquel vous pouvez ajouter des objets d'extension qui interceptent des messages et étendent le comportement du client à l'ensemble des opérations. Les objets d'interception peuvent traiter tous les messages d'un contrat spécifique, traiter uniquement les messages de certaines opérations, exécuter l'initialisation de canal personnalisée et implémenter un autre comportement d'application cliente personnalisé. Pour obtenir une vue d’ensemble de l’architecture cliente, consultez Architecture du client WCF. Pour plus d’informations sur la programmation cliente, consultez Accès aux services à l’aide d’un client WCF. Pour plus d’informations sur les personnalisations et leur exécution, consultez Extension des clients.
La propriété CallbackDispatchRuntime retourne l'objet d'exécution de répartition pour les opérations de rappel initiées par le service.
La propriété OperationSelector accepte un objet de sélecteur d'opération personnalisé pour contrôler le routage des messages client.
La propriété ChannelInitializers permet d'ajouter un initialiseur de canal qui peut inspecter ou modifier le canal client.
La propriété InteractiveChannelInitializers peut être utilisée pour afficher une invite visuelle afin de permettre à un utilisateur de sélectionner les informations d'identification avant d'ouvrir le canal.
La propriété Operations obtient une collection d’objets ClientOperation auxquels vous pouvez ajouter des intercepteurs de messages personnalisés qui fournissent les fonctionnalités spécifiques aux messages de cette opération.
La propriété ManualAddressing permet à une application de désactiver certains en-têtes d'adressage automatique afin de contrôler directement l'adressage.
La propriété MaxFaultSize permet au client de limiter la taille des messages d'erreur que le client accepte.
La propriété MessageInspectors obtient une collection d’objets IClientMessageInspector auxquels vous pouvez ajouter des intercepteurs de messages personnalisés pour tous les messages transmis via un client.
La propriété UnhandledClientOperation retourne l'opération à laquelle les messages inattendus sont passés.
La propriété ValidateMustUnderstand informe le système s'il doit confirmer que les en-têtes SOAP marqués comme
MustUnderstand
ont effectivement été compris.La propriété Via affecte la valeur de la destination du message au niveau du transport afin de prendre en charge les intermédiaires et d'autres scénarios.
De plus, il existe de nombreuses autres propriétés qui récupèrent les informations de contrat de client :
Si le client est client duplex, les propriétés suivantes récupèrent également le type de rappel et l'exécution du client :
Propriétés
CallbackClientType |
Obtient ou définit le type du contrat de rappel associé à un client duplex. |
CallbackDispatchRuntime |
Obtient le temps d'exécution de répartition qui distribue des opérations initiées par le service. |
ChannelInitializers |
Obtient une collection d’objets d’initialiseur de canal utilisée pour personnaliser le canal associé un client. |
ClientMessageInspectors |
Obtient une collection d'objets d'inspecteur de message utilisés pour afficher ou modifier les messages d'une opération de service particulière. |
ClientOperations |
Obtient une collection d'objets d'opération du client utilisés pour attacher des objets extension qui inspectent ou modifient des messages et un comportement limités à une opération particulière. |
ContractClientType |
Obtient ou définit le type de contrat associé à un client. |
ContractName |
Obtient le nom du contrat associé à un client. |
ContractNamespace |
Obtient l'espace de noms du contrat associé à un client. |
InteractiveChannelInitializers |
Obtient une collection d'un initialiseur de canal interactif. |
ManualAddressing |
Obtient ou définit une valeur qui indique si le client ajoute des en-têtes d'adressage aux messages de demande/réponse. |
MaxFaultSize |
Obtient ou définit la taille d'erreur maximale. |
MessageInspectors |
Obtient une collection d’implémentations d’inspecteur de message pour un client. |
MessageVersionNoneFaultsEnabled |
Obtient ou définit une valeur qui indique si la propriété MessageVersionNoneFaultsEnabled est définie. |
Operations |
Obtient une collection d'opérations du client pour un client. |
OperationSelector |
Obtient ou définit une implémentation de IClientOperationSelector qui peut être utilisée pour sélectionner une ClientOperation. |
UnhandledClientOperation |
Obtient l'opération du client pour les méthodes qui n'ont pas de ClientOperation correspondant dans la collection Operations. |
ValidateMustUnderstand |
Obtient ou définit une valeur qui spécifie si le système ou l'application applique le traitement d'en-tête |
Via |
Obtient ou définit l'adresse de transport utilisée pour envoyer des messages via le client. |
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) |