ClientRuntime ClientRuntime ClientRuntime ClientRuntime Class

Définition

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.Represents the insertion point for classes that extend the functionality of Windows Communication Foundation (WCF) client objects for all messages handled by a client application.

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

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.In the following code example an System.ServiceModel.Description.IEndpointBehavior inserts a System.ServiceModel.Dispatcher.IClientMessageInspector into the client runtime by adding it to the MessageInspectors property.

#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.The following code example shows a configuration file that loads the endpoint behavior into the client endpoint.

  <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' ClientBase<TChannel> agisse d' IClientChannelune extension de ou de, sont utilisés par les applications clientes Windows Communication Foundation (WCF) pour convertir les appels de méthode en messages sortants et convertir les messages entrants en objets et les passer au résultats des méthodes clientes.WCF client objects, whether an extension of ClientBase<TChannel> or of IClientChannel, are used by Windows Communication Foundation (WCF) client applications to convert method calls into outbound messages and convert incoming messages to objects and pass them to the results of client methods.

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.The ClientRuntime class is an extensibility point to which you can add extension objects that intercept messages and extend client behavior across all operations. 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é.Interception objects can process all messages in a particular contract, process only messages for particular operations, perform custom channel initialization, and implement other custom client application behavior. Pour obtenir une vue d’ensemble de l’architecture client, consultez architecture du client WCF.For an overview of client architecture, see WCF Client Architecture. Pour plus d’informations sur la programmation de clients, consultez accès aux services à l’aide d’un client WCF.For more information about client programming, see Accessing Services Using a WCF Client. Pour plus d’informations sur les personnalisations et la façon de les effectuer, consultez extension des clients.For details about customizations and how to perform them, see Extending 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.The CallbackDispatchRuntime property returns the dispatch run-time object for service-initiated callback operations.

  • La propriété OperationSelector accepte un objet de sélecteur d'opération personnalisé pour contrôler le routage des messages client.The OperationSelector property accepts a custom operation selector object to control the routing of client messages.

  • La propriété ChannelInitializers permet d'ajouter un initialiseur de canal qui peut inspecter ou modifier le canal client.The ChannelInitializers property enables the addition of a channel initializer that can inspect or modify the client channel.

  • 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.The InteractiveChannelInitializers property can be used to display a visual prompt to enable a user to select credentials prior to opening the channel.

  • 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.The Operations property gets a collection of ClientOperation objects to which you can add custom message interceptors that provide functionality specific to the messages of that operation.

  • La propriété ManualAddressing permet à une application de désactiver certains en-têtes d'adressage automatique afin de contrôler directement l'adressage.The ManualAddressing property enables an application to turn off some automatic addressing headers to directly control addressing.

  • La propriété MaxFaultSize permet au client de limiter la taille des messages d'erreur que le client accepte.The MaxFaultSize property enables the client to limit the size of fault messages that the client accepts.

  • 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.The MessageInspectors property gets a collection of IClientMessageInspector objects to which you can add custom message interceptors for all messages traveling through a client.

  • La propriété UnhandledClientOperation retourne l'opération à laquelle les messages inattendus sont passés.The UnhandledClientOperation property returns the operation to which unexpected messages are passed.

  • 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.The ValidateMustUnderstand property informs the system whether it should confirm that SOAP headers marked as MustUnderstand have, in fact, been understood.

  • 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.The Via property sets the value of the destination of the message at the transport level to support intermediaries and other scenarios.

De plus, il existe de nombreuses autres propriétés qui récupèrent les informations de contrat de client :In addition, there are a number of other properties that retrieve the client contract information:

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 :If the client is a duplex client, the following properties also retrieve the client callback type and runtime:

Propriétés

CallbackClientType CallbackClientType CallbackClientType CallbackClientType

Obtient ou définit le type du contrat de rappel associé à un client duplex.Gets or sets the type of the callback contract associated with a duplex client.

CallbackDispatchRuntime CallbackDispatchRuntime CallbackDispatchRuntime CallbackDispatchRuntime

Obtient le temps d'exécution de répartition qui distribue des opérations initiées par le service.Gets the dispatch run-time that dispatches service-initiated operations.

ChannelInitializers ChannelInitializers ChannelInitializers ChannelInitializers

Obtient une collection d’objets d’initialiseur de canal utilisée pour personnaliser le canal associé un client.Gets a collection of channel initializer objects used to customize the channel associated with a client.

ClientMessageInspectors ClientMessageInspectors ClientMessageInspectors 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.Gets a collection of message inspector objects used to view or modify messages of a particular service operation.

ClientOperations ClientOperations ClientOperations 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.Gets a collection of client operation objects used to attach extension objects that inspect or modify messages and behavior of a particular service operation.

ContractClientType ContractClientType ContractClientType ContractClientType

Obtient ou définit le type de contrat associé à un client.Gets or sets the type of the contract associated with a client.

ContractName ContractName ContractName ContractName

Obtient le nom du contrat associé à un client.Gets the name of the contract associated with a client.

ContractNamespace ContractNamespace ContractNamespace ContractNamespace

Obtient l'espace de noms du contrat associé à un client.Gets the namespace of the contract associated with a client.

InteractiveChannelInitializers InteractiveChannelInitializers InteractiveChannelInitializers InteractiveChannelInitializers

Obtient une collection d'un initialiseur de canal interactif.Gets a collection of an interactive channel initializer.

ManualAddressing ManualAddressing ManualAddressing 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.Gets or sets a value that indicates whether the client adds addressing headers to request-reply messages.

MaxFaultSize MaxFaultSize MaxFaultSize MaxFaultSize

Obtient ou définit la taille d'erreur maximale.Gets or sets the maximum fault size.

MessageInspectors MessageInspectors MessageInspectors MessageInspectors

Obtient une collection d’implémentations d’inspecteur de message pour un client.Gets a collection of message inspector implementations for a client.

MessageVersionNoneFaultsEnabled MessageVersionNoneFaultsEnabled MessageVersionNoneFaultsEnabled MessageVersionNoneFaultsEnabled

Obtient ou définit une valeur qui indique si la propriété MessageVersionNoneFaultsEnabled est définie.Gets or sets a value that indicates whether the MessageVersionNoneFaultsEnabled property is set.

Operations Operations Operations Operations

Obtient une collection d'opérations du client pour un client.Gets a collection of client operations for a client.

OperationSelector OperationSelector OperationSelector OperationSelector

Obtient ou définit une implémentation de IClientOperationSelector qui peut être utilisée pour sélectionner une ClientOperation.Gets or sets an IClientOperationSelector implementation that can be used to select a ClientOperation.

UnhandledClientOperation UnhandledClientOperation UnhandledClientOperation UnhandledClientOperation

Obtient l'opération du client pour les méthodes qui n'ont pas de ClientOperation correspondant dans la collection Operations.Gets the client operation for methods that do not have a corresponding ClientOperation in the Operations collection.

ValidateMustUnderstand ValidateMustUnderstand ValidateMustUnderstand ValidateMustUnderstand

Obtient ou définit une valeur qui spécifie si le système ou l'application applique le traitement d'en-tête MustUnderstand SOAP.Gets or sets a value that specifies whether the system or the application enforces SOAP MustUnderstand header processing.

Via Via Via Via

Obtient ou définit l'adresse de transport utilisée pour envoyer des messages via le client.Gets or sets the transport address that is used to send messages through the client.

Méthodes

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

S’applique à