ClientOperation Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Usado para modificar ou estender o comportamento de execução de uma operação em um objeto do cliente ou objeto do canal do cliente. Essa classe não pode ser herdada.
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
- Herança
-
ClientOperation
- Herança
Exemplos
O exemplo de código a seguir mostra uma System.ServiceModel.Description.IEndpointBehavior inserção de um inspetor de parâmetro personalizado em cada ClientOperation um na ClientRuntime.Operations propriedade.
#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
Comentários
A ClientOperation classe é o local para modificações de tempo de execução do cliente e ponto de inserção para extensões personalizadas que têm como escopo apenas uma operação de serviço. (Para modificar o comportamento de tempo de execução do cliente para todas as mensagens em um contrato, use a ClientRuntime classe. )
Instale ClientOperation modificações usando um objeto de comportamento de cliente personalizado, qualquer um dos tipos IContractBehavior (para localizar uma operação específica a ser modificada) ou de tipo IOperationBehavior (que pode ser aplicado criando um atributo personalizado).
Use a Operations propriedade para localizar o ClientOperation objeto que representa uma operação de serviço específica.
Para obter mais informações sobre clientes e a arquitetura do cliente, consulte Acessando serviços usando um cliente WCF e uma arquitetura de cliente WCF. Para obter mais informações sobre como personalizar o runtime do cliente, consulte Extending Clients. Para obter mais informações sobre como usar comportamentos, consulte Configurar e estender o runtime com comportamentos.
As propriedades a seguir permitem que você insira objetos personalizados ou modifique o comportamento de execução do cliente:
Use a Formatter propriedade para inserir uma implementação personalizada IClientMessageFormatter para uma operação ou modificar o formatador atual.
Use a ParameterInspectors propriedade para inserir uma implementação personalizada IParameterInspector ou modificar a atual.
Use a SerializeRequest propriedade para controlar quem serializa uma mensagem de saída.
Use a DeserializeReply propriedade para controlar quem desserializa uma mensagem de entrada.
Use a Action propriedade para acessar a ação WS-Addressing da mensagem de solicitação e da ReplyAction propriedade para acessar a ação da mensagem de resposta.
Use e BeginMethod EndMethod para especificar quais métodos de cliente estão associados a uma operação assíncrona.
Use a FaultContractInfos propriedade para obter uma coleção de tipos especificados que podem aparecer em falhas SOAP como o tipo de detalhes.
Use as propriedades e IsTerminating as IsInitiating propriedades para controlar se uma sessão é iniciada ou interrompida, respectivamente, quando a operação é chamada.
Use a IsOneWay propriedade para controlar se o cliente aguarda uma resposta antes de concluir a invocação.
Use a Parent propriedade para obter o objeto que contém ClientRuntime .
Use a Name propriedade para obter o nome da operação.
Use a SyncMethod propriedade para controlar qual método é mapeado para a operação.
Construtores
ClientOperation(ClientRuntime, String, String) |
Inicializa uma nova instância da classe ClientOperation usando o ClientRuntime, o nome e os valores de ação senha especificados. |
ClientOperation(ClientRuntime, String, String, String) |
Inicializa uma nova instância da classe ClientOperation usando o ClientRuntime, o nome e os valores de ação de resposta especificados. |
Propriedades
Action |
Obtém a ação da operação. |
BeginMethod |
Obtém ou define o método associado com uma operação assíncrona. |
ClientParameterInspectors |
Obtém uma coleção de objetos do inspetor de parâmetro usados para exibir ou modificar os parâmetros antes ou após uma chamada de cliente. |
DeserializeReply |
Obtém ou define um valor que indica se o valor da propriedade Formatter é usado para desserializar a mensagem de resposta. |
EndMethod |
Obtém ou define o método que implementa o método end assíncrono para a operação. |
FaultContractInfos |
Obtém uma coleção de objetos FaultContractInfo que representam as falhas SOAP especificadas para esta operação. |
Formatter |
Obtém ou define o formatador que serializa objetos em mensagens e desserializa mensagens em objetos. |
IsInitiating |
Obtém ou define um valor que indica se uma sessão pode ser iniciada por uma mensagem para esta operação. |
IsOneWay |
Obtém ou define um valor que indica se a operação é uma operação unidirecional. |
IsTerminating |
Obtém ou define um valor que indica se esta operação é a última em uma sessão. |
Name |
Obtém o nome da operação. |
ParameterInspectors |
Obtém ou define uma coleção de objetos IParameterInspector que podem inspecionar e modificar objetos de entrada e de saída para um método de cliente específico. |
Parent |
Obtém o objeto ClientRuntime recipiente. |
ReplyAction |
Obtém a ação da mensagem de resposta para esta operação. |
SerializeRequest |
Obtém ou define um valor que especifica se o objeto Formatter serializa uma mensagem de saída. |
SyncMethod |
Obtém ou define o método associado a esta operação. |
TaskMethod |
Obtém ou define o método associado a uma tarefa. |
TaskTResult |
Obtém ou define o tipo do resultado do método que está associado a uma tarefa. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |