ClientOperation Classe

Definizione

Classe usata per modificare o estendere il comportamento di esecuzione di un'operazione del contratto specifica in un oggetto client o in un oggetto del canale client.Used to modify or extend the execution behavior of a specific contract operation in a client object or client channel object. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class ClientOperation sealed
public sealed class ClientOperation
type ClientOperation = class
Public NotInheritable Class ClientOperation
Ereditarietà
ClientOperation

Esempi

Nell'esempio di codice seguente viene illustrato come un'interfaccia System.ServiceModel.Description.IEndpointBehavior inserisce un controllo del parametro personalizzato in ClientOperation nella proprietà 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

Commenti

Nella classe ClientOperation è possibile eseguire modifiche della fase di esecuzione del client e questa classe rappresenta il punto di inserimento per le estensioni personalizzate nell'ambito di una sola operazione del servizio.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. Per modificare il comportamento in fase di esecuzione del client per tutti i messaggi di un contratto, utilizzare la classe ClientRuntime.(To modify client run-time behavior for all messages in a contract, use the ClientRuntime class. ))

Installare le modifiche di ClientOperation utilizzando un oggetto di comportamento client personalizzato di tipo IContractBehavior (per individuare un'operazione specifica da modificare) o di tipo IOperationBehavior (il quale può essere applicato creando un attributo personalizzato).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).

Usare la proprietà Operations per individuare l'oggetto ClientOperation che rappresenta un'operazione specifica del servizio.Use the Operations property to locate the ClientOperation object that represents a particular service operation.

Per ulteriori informazioni sui client e sull'architettura client, vedere accesso ai servizi tramite un client WCF e l' architettura client WCF.For more information about clients and the client architecture, see Accessing Services Using a WCF Client and WCF Client Architecture. Per ulteriori informazioni sulla personalizzazione del runtime client, vedere estensione dei client.For more information about customizing the client runtime, see Extending Clients. Per ulteriori informazioni sull'utilizzo dei comportamenti, vedere configurazione ed estensione del runtime con i comportamenti.For more information about using behaviors, see Configuring and Extending the Runtime with Behaviors.

Le proprietà seguenti consentono di inserire oggetti personalizzati o di modificare il comportamento di esecuzione del client:The following properties enable you to insert custom objects or modify the client execution behavior:

  • Utilizzare la proprietà Formatter per inserire un'implementazione personalizzata dell'interfaccia IClientMessageFormatter di un'operazione o per modificare il formattatore corrente.Use the Formatter property to insert a custom IClientMessageFormatter implementation for an operation or modify the current formatter.

  • Utilizzare la proprietà ParameterInspectors per inserire un'implementazione personalizzata dell'interfaccia IParameterInspector o per modificare l'interfaccia corrente.Use the ParameterInspectors property to insert a custom IParameterInspector implementation or to modify the current one.

  • Utilizzare la proprietà SerializeRequest per controllare chi serializza un messaggio in uscita.Use the SerializeRequest property to control who serializes an outbound message.

  • Utilizzare la proprietà DeserializeReply per controllare chi deserializza un messaggio in entrata.Use the DeserializeReply property to control who deserializes an inbound message.

  • Utilizzare la proprietà Action per accedere all'azione WS-Addressing del messaggio di richiesta e la proprietà ReplyAction per accedere all'azione del messaggio di risposta.Use the Action property to access the WS-Addressing action of the request message and the ReplyAction property to access the response message action.

  • Utilizzare le proprietà BeginMethod e EndMethod per specificare quali metodi del client vengono associati a un'operazione asincrona.Use the BeginMethod and EndMethod to specify which client methods are associated with an asynchronous operation.

  • Utilizzare la proprietà FaultContractInfos per ottenere una raccolta di tipi specificati che possono comparire negli errori SOAP come tipi di dettaglio.Use the FaultContractInfos property to get a collection of specified types that can appear in SOAP faults as the detail type.

  • Utilizzare le proprietà IsInitiating e IsTerminating per controllare se una sessione viene rispettivamente avviata o eliminata quando viene chiamata l'operazione.Use the IsInitiating and IsTerminating properties to control whether a session is initiated or is torn down, respectively, when the operation is called.

  • Utilizzare la proprietà IsOneWay per controllare se il client attende una risposta prima di completare la chiamata.Use the IsOneWay property to control whether the client waits for a response before completing the invocation.

  • Utilizzare la proprietà Parent per ottenere l'oggetto contenitore ClientRuntime.Use the Parent property to obtain the containing ClientRuntime object.

  • Utilizzare la proprietà Name per ottenere il nome dell'operazione.Use the Name property to get the name of the operation.

  • Utilizzare la proprietà SyncMethod per controllare quale metodo viene mappato all'operazione.Use the SyncMethod property to control which method is mapped to the operation.

Costruttori

ClientOperation(ClientRuntime, String, String)

Inizializza una nuova istanza della classe ClientOperation utilizzando i valori di nome e azione ClientRuntime specificati.Initializes a new instance of the ClientOperation class using the specified ClientRuntime, name, and action values.

ClientOperation(ClientRuntime, String, String, String)

Inizializza una nuova istanza della classe ClientOperation utilizzando i valori di nome, azione e azione di risposta ClientRuntime specificati.Initializes a new instance of the ClientOperation class using the specified ClientRuntime, name, action, and reply action values.

Proprietà

Action

Ottiene l'azione dell'operazione.Gets the action of the operation.

BeginMethod

Ottiene o imposta il metodo associato all'operazione asincrona.Gets or sets the method associated with an asynchronous operation.

ClientParameterInspectors

Ottiene una raccolta di oggetti di controllo parametri utilizzati per visualizzare o modificare i parametri prima o dopo una chiamata client.Gets a collection of parameter inspector objects used to view or modify parameters prior to or subsequent to a client call.

DeserializeReply

Ottiene o imposta un valore che indica se il valore della proprietà Formatter viene utilizzato per deserializzare il messaggio di risposta.Gets or sets a value that indicates whether the Formatter property value is used to deserialize the reply message.

EndMethod

Ottiene o imposta il metodo che implementa il metodo End asincrono per l'operazione.Gets or sets the method that implements the asynchronous end method for the operation.

FaultContractInfos

Ottiene una raccolta di oggetti FaultContractInfo che rappresentano gli errori SOAP specificati per questa operazione.Gets a collection of FaultContractInfo objects that represent the specified SOAP faults for this operation.

Formatter

Ottiene o imposta il formattatore che serializza gli oggetti in messaggi e deserializza i messaggi in oggetti.Gets or sets the formatter that serializes objects into messages and deserializes messages into objects.

IsInitiating

Ottiene o imposta un valore che indica se una sessione può essere avviata da un messaggio dell'operazione.Gets or sets a value that indicates whether a session can be started by a message to this operation.

IsOneWay

Ottiene o imposta un valore che indica se l'operazione è unidirezionale.Gets or sets a value that indicates if the operation is a one-way operation.

IsTerminating

Ottiene o imposta un valore che indica se l'operazione è l'ultima in una sessione.Gets or sets a value that indicates if this operation is the last one in a session.

Name

Ottiene il nome dell'operazione.Gets the name of the operation.

ParameterInspectors

Ottiene o imposta una raccolta di oggetti IParameterInspector che possono controllare e modificare oggetti in entrata e in uscita per un metodo client specifico.Gets or sets a collection of IParameterInspector objects that can inspect and modify inbound and outbound objects for a particular client method.

Parent

Ottiene l'oggetto contenitore ClientRuntime.Gets the containing ClientRuntime object.

ReplyAction

Ottiene l'azione del messaggio di risposta dell'operazione.Gets the action of the reply message for this operation.

SerializeRequest

Ottiene o imposta un valore che specifica se l'oggetto Formatter serializza un messaggio in uscita.Gets or sets a value that specifies whether the Formatter object serializes an outbound message.

SyncMethod

Ottiene o imposta il metodo associato all'operazione.Gets or sets the method that is associated with this operation.

TaskMethod

Ottiene o imposta il metodo associata a un'attività.Gets or sets the method associated with a task.

TaskTResult

Ottiene o imposta il tipo del risultato del metodo associato a un'attività.Gets or sets the type of the result of the method that is associated with a task.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a