ClientOperation Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Usado para modificar ou estender o comportamento de execução de uma operação contratual específica num objeto cliente ou objeto canal cliente. Esta 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 seguinte mostra a System.ServiceModel.Description.IEndpointBehavior inserção de um inspetor de parâmetros personalizado em cada ClientOperation uma da 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
Observações
A ClientOperation classe é o local para modificações em tempo de execução do cliente e ponto de inserção para extensões personalizadas que têm âmbito para apenas uma operação de serviço. (Para modificar o comportamento em tempo de execução do cliente para todas as mensagens de um contrato, use a ClientRuntime classe.)
Instale ClientOperation modificações usando um objeto de comportamento cliente personalizado, seja do tipo IContractBehavior (para encontrar uma operação específica a modificar) ou do tipo IOperationBehavior (que pode depois 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 mais informações sobre clientes e a arquitetura do cliente, consulte Aceder a Serviços Usando um Cliente WCF e Arquitetura de Cliente WCF. Para mais informações sobre a personalização do tempo de execução do cliente, consulte Extensão de Clientes. Para mais informações sobre a utilização de comportamentos, consulte Configurar e Estender o Tempo de Execução com Comportamentos.
As seguintes propriedades permitem-lhe inserir objetos personalizados ou modificar 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 para 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 aceder à ação WS-Addressing da mensagem de pedido e a ReplyAction propriedade para aceder à ação da mensagem de resposta.
Use o BeginMethod e EndMethod para especificar quais os métodos clientes 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 tipo de detalhe.
Use as propriedades IsInitiating e IsTerminating para controlar se uma sessão é iniciada ou terminada, respetivamente, quando a operação é chamada.
Use a IsOneWay propriedade para controlar se o cliente espera por uma resposta antes de completar 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
| Name | Description |
|---|---|
| ClientOperation(ClientRuntime, String, String, String) |
Inicializa uma nova instância da ClientOperation classe usando os valores especificados ClientRuntimede , nome, ação e resposta de ação. |
| ClientOperation(ClientRuntime, String, String) |
Inicializa uma nova instância da ClientOperation classe usando os valores ClientRuntimeespecificados , nome e ação. |
Propriedades
| Name | Description |
|---|---|
| Action |
Percebe a ação da operação. |
| BeginMethod |
Obtém ou define o método associado a uma operação assíncrona. |
| ClientParameterInspectors |
Obtém uma coleção de objetos inspetor de parâmetros usados para visualizar ou modificar parâmetros antes ou depois de uma chamada ao cliente. |
| DeserializeReply |
Recebe ou define um valor que indica se o Formatter valor da propriedade é usado para desserializar a mensagem de resposta. |
| EndMethod |
Obtém ou define o método que implementa o método final assíncrono para a operação. |
| FaultContractInfos |
Obtém uma coleção de FaultContractInfo objetos que representam as falhas SOAP especificadas para esta operação. |
| Formatter |
Obtém ou define o formador que serializa objetos em mensagens e desserializa mensagens em objetos. |
| IsInitiating |
Recebe ou define um valor que indica se uma sessão pode ser iniciada por uma mensagem para esta operação. |
| IsOneWay |
Recebe ou define um valor que indica se a operação é unidirecional. |
| IsTerminating |
Recebe ou define um valor que indica se esta operação é a última numa sessão. |
| Name |
Fica com o nome da operação. |
| ParameterInspectors |
Obtém ou define uma coleção de IParameterInspector objetos que podem inspecionar e modificar objetos de entrada e saída para um determinado método cliente. |
| Parent |
Obtém o objeto que contém.ClientRuntime |
| ReplyAction |
Recebe a ação da mensagem de resposta desta operação. |
| SerializeRequest |
Recebe ou define um valor que especifica se o Formatter objeto 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 associado a uma tarefa. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |