ClientOperation Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Classe utilizzata 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. La classe non può essere ereditata.
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
- Ereditarietà
-
ClientOperation
- Ereditarietà
Esempio
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.
#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. Per modificare il comportamento di runtime del client per tutti i messaggi in un contratto, usare la ClientRuntime classe .
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).
Usare la proprietà Operations per individuare l'oggetto ClientOperation che rappresenta un'operazione specifica del servizio.
Per altre informazioni sui client e sull'architettura client, vedere Accesso ai servizi tramite un client WCF e un'architettura client WCF. Per altre informazioni sulla personalizzazione del runtime client, vedere Estensione dei client. Per altre informazioni sull'uso dei comportamenti, vedere Configurazione ed estensione del runtime con comportamenti.
Le proprietà seguenti consentono di inserire oggetti personalizzati o di modificare il comportamento di esecuzione del client:
Utilizzare la proprietà Formatter per inserire un'implementazione personalizzata dell'interfaccia IClientMessageFormatter di un'operazione o per modificare il formattatore corrente.
Utilizzare la proprietà ParameterInspectors per inserire un'implementazione personalizzata dell'interfaccia IParameterInspector o per modificare l'interfaccia corrente.
Utilizzare la proprietà SerializeRequest per controllare chi serializza un messaggio in uscita.
Utilizzare la proprietà DeserializeReply per controllare chi deserializza un messaggio in entrata.
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.
Utilizzare le proprietà BeginMethod e EndMethod per specificare quali metodi del client vengono associati a un'operazione asincrona.
Utilizzare la proprietà FaultContractInfos per ottenere una raccolta di tipi specificati che possono comparire negli errori SOAP come tipi di dettaglio.
Utilizzare le proprietà IsInitiating e IsTerminating per controllare se una sessione viene rispettivamente avviata o eliminata quando viene chiamata l'operazione.
Utilizzare la proprietà IsOneWay per controllare se il client attende una risposta prima di completare la chiamata.
Utilizzare la proprietà Parent per ottenere l'oggetto contenitore ClientRuntime.
Utilizzare la proprietà Name per ottenere il nome dell'operazione.
Utilizzare la proprietà SyncMethod per controllare quale metodo viene mappato all'operazione.
Costruttori
ClientOperation(ClientRuntime, String, String) |
Inizializza una nuova istanza della classe ClientOperation utilizzando i valori di nome e azione ClientRuntime specificati. |
ClientOperation(ClientRuntime, String, String, String) |
Inizializza una nuova istanza della classe ClientOperation utilizzando i valori di nome, azione e azione di risposta ClientRuntime specificati. |
Proprietà
Action |
Ottiene l'azione dell'operazione. |
BeginMethod |
Ottiene o imposta il metodo associato all'operazione asincrona. |
ClientParameterInspectors |
Ottiene una raccolta di oggetti di controllo parametri utilizzati per visualizzare o modificare i parametri prima o dopo una chiamata client. |
DeserializeReply |
Ottiene o imposta un valore che indica se il valore della proprietà Formatter viene utilizzato per deserializzare il messaggio di risposta. |
EndMethod |
Ottiene o imposta il metodo che implementa il metodo End asincrono per l'operazione. |
FaultContractInfos |
Ottiene una raccolta di oggetti FaultContractInfo che rappresentano gli errori SOAP specificati per questa operazione. |
Formatter |
Ottiene o imposta il formattatore che serializza gli oggetti in messaggi e deserializza i messaggi in oggetti. |
IsInitiating |
Ottiene o imposta un valore che indica se una sessione può essere avviata da un messaggio dell'operazione. |
IsOneWay |
Ottiene o imposta un valore che indica se l'operazione è unidirezionale. |
IsTerminating |
Ottiene o imposta un valore che indica se l'operazione è l'ultima in una sessione. |
Name |
Ottiene il nome dell'operazione. |
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. |
Parent |
Ottiene l'oggetto contenitore ClientRuntime. |
ReplyAction |
Ottiene l'azione del messaggio di risposta dell'operazione. |
SerializeRequest |
Ottiene o imposta un valore che specifica se l'oggetto Formatter serializza un messaggio in uscita. |
SyncMethod |
Ottiene o imposta il metodo associato all'operazione. |
TaskMethod |
Ottiene o imposta il metodo associata a un'attività. |
TaskTResult |
Ottiene o imposta il tipo del risultato del metodo associato a un'attività. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |