ClientOperation Class

Definition

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.Used to modify or extend the execution behavior of a specific contract operation in a client object or client channel object. Cette classe ne peut pas être héritée.This class cannot be inherited.

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
Inheritance
ClientOperation
Inheritance

Examples

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.The following code example shows an System.ServiceModel.Description.IEndpointBehavior inserting a custom parameter inspector into each ClientOperation in the ClientRuntime.Operations 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

Remarks

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.The ClientOperation class is the location for client run-time modifications and insertion point for custom extensions that are scoped to only one service operation. (Pour modifier le comportement du client au moment de l’exécution pour tous les messages d’un contrat, utilisez la classe ClientRuntime.(To modify client run-time behavior for all messages in a contract, use the ClientRuntime class. ))

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é).Install ClientOperation modifications using a custom client behavior object, either of type IContractBehavior (to find a particular operation to modify) or of type IOperationBehavior (which can then be applied by creating a custom attribute).

Utilisez la propriété Operations pour localiser l'objet ClientOperation qui représente une opération de service particulière.Use the Operations property to locate the ClientOperation object that represents a particular service operation.

Pour plus d’informations sur les clients et l’architecture client, consultez accès aux services à l’aide d’un client WCF et de l' architecture du client WCF.For more information about clients and the client architecture, see Accessing Services Using a WCF Client and WCF Client Architecture. Pour plus d’informations sur la personnalisation de l’exécution du client, consultez extension des clients.For more information about customizing the client runtime, see Extending Clients. Pour plus d’informations sur l’utilisation des comportements, consultez configuration et extension du Runtime avec des comportements.For more information about using behaviors, see Configuring and Extending the Runtime with Behaviors.

Les propriétés suivantes vous permettent d'insérer des objets personnalisés ou de modifier le comportement d'exécution du client :The following properties enable you to insert custom objects or modify the client execution behavior:

  • La propriété Formatter permet d'insérer une implémentation IClientMessageFormatter personnalisée pour une opération ou de modifier le formateur actuel.Use the Formatter property to insert a custom IClientMessageFormatter implementation for an operation or modify the current formatter.

  • La propriété ParameterInspectors permet d'insérer une implémentation IParameterInspector personnalisée ou de modifier l'implémentation actuelle.Use the ParameterInspectors property to insert a custom IParameterInspector implementation or to modify the current one.

  • La propriété SerializeRequest permet de contrôler qui sérialise un message sortant.Use the SerializeRequest property to control who serializes an outbound message.

  • La propriété DeserializeReply permet de contrôler qui désérialise un message entrant.Use the DeserializeReply property to control who deserializes an inbound message.

  • 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.Use the Action property to access the WS-Addressing action of the request message and the ReplyAction property to access the response message action.

  • Les propriétés BeginMethod et EndMethod permettent de spécifier les méthodes clientes qui sont associées à une opération asynchrone.Use the BeginMethod and EndMethod to specify which client methods are associated with an asynchronous operation.

  • 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.Use the FaultContractInfos property to get a collection of specified types that can appear in SOAP faults as the detail type.

  • 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.Use the IsInitiating and IsTerminating properties to control whether a session is initiated or is torn down, respectively, when the operation is called.

  • La propriété IsOneWay permet de contrôler si le client attend une réponse avant de terminer l'appel.Use the IsOneWay property to control whether the client waits for a response before completing the invocation.

  • La propriété Parent permet d'obtenir l'objet contenant ClientRuntime.Use the Parent property to obtain the containing ClientRuntime object.

  • La propriété Name permet d'obtenir le nom de l'opération.Use the Name property to get the name of the operation.

  • La propriété SyncMethod permet de contrôler la méthode mappée à l'opération.Use the SyncMethod property to control which method is mapped to the operation.

Constructors

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.Initializes a new instance of the ClientOperation class using the specified ClientRuntime, name, and action values.

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.Initializes a new instance of the ClientOperation class using the specified ClientRuntime, name, action, and reply action values.

Properties

Action

Obtient l'action de l'opération.Gets the action of the operation.

BeginMethod

Obtient ou définit la méthode associée à une opération asynchrone.Gets or sets the method associated with an asynchronous operation.

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.Gets a collection of parameter inspector objects used to view or modify parameters prior to or subsequent to a client call.

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.Gets or sets a value that indicates whether the Formatter property value is used to deserialize the reply message.

EndMethod

Obtient ou définit la méthode qui implémente la méthode End asynchrone pour l'opération.Gets or sets the method that implements the asynchronous end method for the operation.

FaultContractInfos

Obtient une collection d’objets FaultContractInfo qui représentent les erreurs SOAP spécifiées pour cette opération.Gets a collection of FaultContractInfo objects that represent the specified SOAP faults for this operation.

Formatter

Obtient ou définit le formateur qui sérialise les objets en messages et désérialise les messages en objets.Gets or sets the formatter that serializes objects into messages and deserializes messages into objects.

IsInitiating

Obtient ou définit une valeur qui indique si une session peut être démarrée par un message à cette opération.Gets or sets a value that indicates whether a session can be started by a message to this operation.

IsOneWay

Obtient ou définit une valeur qui indique si l'opération est une opération unidirectionnelle.Gets or sets a value that indicates if the operation is a one-way operation.

IsTerminating

Obtient ou définit une valeur qui indique si cette opération est la dernière dans une session.Gets or sets a value that indicates if this operation is the last one in a session.

Name

Obtient le nom de l'opération.Gets the name of the operation.

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.Gets or sets a collection of IParameterInspector objects that can inspect and modify inbound and outbound objects for a particular client method.

Parent

Obtient l'objet ClientRuntime conteneur.Gets the containing ClientRuntime object.

ReplyAction

Reçoit l'action du message de réponse pour cette opération.Gets the action of the reply message for this operation.

SerializeRequest

Obtient ou définit une valeur qui spécifie si l'objet Formatter sérialise un message sortant.Gets or sets a value that specifies whether the Formatter object serializes an outbound message.

SyncMethod

Obtient ou définit la méthode qui est associée à cette opération.Gets or sets the method that is associated with this operation.

TaskMethod

Obtient ou définit la méthode associée à une tâche.Gets or sets the method associated with a task.

TaskTResult

Obtient ou définit le type du résultat de la méthode associée à une tâche.Gets or sets the type of the result of the method that is associated with a task.

Methods

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()

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

(Inherited from Object)
GetType()

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

(Inherited from Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

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

(Inherited from Object)

Applies to