Partage via


ClientOperation Classe

Définition

Utilisé pour modifier ou étendre le comportement d'exécution d'une opération de contrat spécifique dans un objet client ou un objet de canal client. Cette classe ne peut pas être héritée.

public ref class ClientOperation sealed
public ref class ClientOperation sealed : System::ServiceModel::Dispatcher::ClientOperationCompatBase
public sealed class ClientOperation
public sealed class ClientOperation : System.ServiceModel.Dispatcher.ClientOperationCompatBase
type ClientOperation = class
type ClientOperation = class
    inherit ClientOperationCompatBase
Public NotInheritable Class ClientOperation
Public NotInheritable Class ClientOperation
Inherits ClientOperationCompatBase
Héritage
ClientOperation
Héritage

Exemples

L'exemple de code suivant présente un System.ServiceModel.Description.IEndpointBehavior insérant un inspecteur de paramètre personnalisé dans chaque ClientOperation dans la propriété ClientRuntime.Operations.

#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

Remarques

La classe ClientOperation correspond à l’emplacement des modifications d’exécution du client et au point d’insertion des extensions personnalisées qui sont limitées à une seule opération de service. (Pour modifier le comportement d’exécution du client pour tous les messages d’un contrat, utilisez la ClientRuntime classe . )

Installez les modifications ClientOperation à l'aide d'un objet de comportement client personnalisé, soit de type IContractBehavior (pour rechercher une opération particulière à modifier), soit de type IOperationBehavior (qui peut être appliqué en créant un attribut personnalisé).

Utilisez la propriété Operations pour localiser l'objet ClientOperation qui représente une opération de service particulière.

Pour plus d’informations sur les clients et l’architecture cliente, consultez Accès aux services à l’aide d’un client WCF et architecture cliente WCF. Pour plus d’informations sur la personnalisation du runtime client, consultez Extension des clients. Pour plus d’informations sur l’utilisation des comportements, consultez Configuration et extension du runtime avec des comportements.

Les propriétés suivantes vous permettent d'insérer des objets personnalisés ou de modifier le comportement d'exécution du client :

  • La propriété Formatter permet d'insérer une implémentation IClientMessageFormatter personnalisée pour une opération ou de modifier le formateur actuel.

  • La propriété ParameterInspectors permet d'insérer une implémentation IParameterInspector personnalisée ou de modifier l'implémentation actuelle.

  • La propriété SerializeRequest permet de contrôler qui sérialise un message sortant.

  • La propriété DeserializeReply permet de contrôler qui désérialise un message entrant.

  • La propriété Action permet d'accéder à l'action WS-Addressing du message de demande et la propriété ReplyAction permet d'accéder à l'action du message de réponse.

  • Les propriétés BeginMethod et EndMethod permettent de spécifier les méthodes clientes qui sont associées à une opération asynchrone.

  • La propriété FaultContractInfos permet d'obtenir une collection de types spécifiés qui peuvent apparaître dans les erreurs SOAP comme type de détail.

  • Les propriétés IsInitiating et IsTerminating permettent respectivement de contrôler si une session est initiée ou détruite, lorsque l'opération est appelée.

  • La propriété IsOneWay permet de contrôler si le client attend une réponse avant de terminer l'appel.

  • La propriété Parent permet d'obtenir l'objet contenant ClientRuntime.

  • La propriété Name permet d'obtenir le nom de l'opération.

  • La propriété SyncMethod permet de contrôler la méthode mappée à l'opération.

Constructeurs

ClientOperation(ClientRuntime, String, String)

Initialise une nouvelle instance de la classe ClientOperation à l'aide de l'ClientRuntime, du nom et des valeurs d'action spécifiés.

ClientOperation(ClientRuntime, String, String, String)

Initialise une nouvelle instance de la classe ClientOperation à l'aide de l'ClientRuntime, du nom, de l'action et des valeurs d'action de réponse.

Propriétés

Action

Obtient l'action de l'opération.

BeginMethod

Obtient ou définit la méthode associée à une opération asynchrone.

ClientParameterInspectors

Obtient une collection d'objets d'inspection de paramètre utilisés pour afficher ou modifier les paramètres avant ou à la suite d'un appel client.

DeserializeReply

Obtient ou définit une valeur qui indique si la valeur de propriété Formatter est utilisée pour désérialiser le message de réponse.

EndMethod

Obtient ou définit la méthode qui implémente la méthode End asynchrone pour l'opération.

FaultContractInfos

Obtient une collection d’objets FaultContractInfo qui représentent les erreurs SOAP spécifiées pour cette opération.

Formatter

Obtient ou définit le formateur qui sérialise les objets en messages et désérialise les messages en objets.

IsInitiating

Obtient ou définit une valeur qui indique si une session peut être démarrée par un message à cette opération.

IsOneWay

Obtient ou définit une valeur qui indique si l'opération est une opération unidirectionnelle.

IsTerminating

Obtient ou définit une valeur qui indique si cette opération est la dernière dans une session.

Name

Obtient le nom de l'opération.

ParameterInspectors

Obtient ou définit une collection d’objets IParameterInspector qui peuvent inspecter et modifier des objets entrants et sortants pour une méthode cliente précise.

Parent

Obtient l'objet ClientRuntime conteneur.

ReplyAction

Reçoit l'action du message de réponse pour cette opération.

SerializeRequest

Obtient ou définit une valeur qui spécifie si l'objet Formatter sérialise un message sortant.

SyncMethod

Obtient ou définit la méthode qui est associée à cette opération.

TaskMethod

Obtient ou définit la méthode associée à une tâche.

TaskTResult

Obtient ou définit le type du résultat de la méthode associée à une tâche.

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 à