Compartilhar via


ClientBase<TChannel> Classe

Definição

Fornece a implementação base usada para criar objetos cliente do WCF (Windows Communication Foundation) que podem chamar serviços.

generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : System::ServiceModel::ICommunicationObject
generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : IAsyncDisposable, IDisposable, System::ServiceModel::ICommunicationObject
generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : IDisposable, System::ServiceModel::ICommunicationObject
public abstract class ClientBase<TChannel> : System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : IAsyncDisposable, IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface ICommunicationObject
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface IDisposable
    interface ICommunicationObject
    interface IAsyncDisposable
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface ICommunicationObject
    interface IDisposable
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements IAsyncDisposable, ICommunicationObject, IDisposable
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject, IDisposable

Parâmetros de tipo

TChannel

O canal a ser usado para se conectar ao serviço.

Herança
ClientBase<TChannel>
Derivado
Implementações

Exemplos

O exemplo de código a seguir mostra como a ServiceModel Metadata Utility Tool (Svcutil.exe) estende a classe para criar uma classe de cliente WCF.

public partial class SampleServiceClient : System.ServiceModel.ClientBase<ISampleService>, ISampleService
{

    public SampleServiceClient()
    {
    }

    public SampleServiceClient(string endpointConfigurationName) :
            base(endpointConfigurationName)
    {
    }

    public SampleServiceClient(string endpointConfigurationName, string remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
    {
    }

    public SampleServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
            base(endpointConfigurationName, remoteAddress)
    {
    }

    public SampleServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
            base(binding, remoteAddress)
    {
    }

    public string SampleMethod(string msg)
    {
        return base.Channel.SampleMethod(msg);
    }
}
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")> _
Partial Public Class SampleServiceClient
    Inherits System.ServiceModel.ClientBase(Of ISampleService)
    Implements ISampleService

    Public Sub New()
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String)
        MyBase.New(endpointConfigurationName)
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String)
        MyBase.New(endpointConfigurationName, remoteAddress)
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String, _
                   ByVal remoteAddress As System.ServiceModel.EndpointAddress)
        MyBase.New(endpointConfigurationName, remoteAddress)
    End Sub

    Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, _
                   ByVal remoteAddress As System.ServiceModel.EndpointAddress)
        MyBase.New(binding, remoteAddress)
    End Sub

    Public Function SampleMethod(ByVal msg As String) As String Implements ISampleService.SampleMethod
        Return MyBase.Channel.SampleMethod(msg)
    End Function
End Class

Comentários

Estenda a classe ClientBase<TChannel> para criar um objeto de cliente WCF personalizado que pode ser usado para se conectar a um serviço. Normalmente, a classe base de cliente do WCF é estendida por uma ferramenta como a ferramenta ServiceModel Metadata Utility Tool (Svcutil.exe) em seu nome. Para obter um exemplo, consulte a seção Exemplo.

A classe ClientBase<TChannel> pode ser usada de forma rápida e fácil por desenvolvedores que preferem objetos ao uso das interfaces e da classe System.ServiceModel.ChannelFactory<TChannel>. Em todos os casos, essa classe encapsula ou expõe os métodos e a funcionalidade da classe System.ServiceModel.ChannelFactory<TChannel> e da interface System.ServiceModel.IClientChannel.

Como ao usar a classe System.ServiceModel.ServiceHost, você pode criar a classe e modificar o ponto de extremidade, a fábrica de canais ou as informações de segurança antes de fazer chamadas ou chamar Open. Para obter mais informações, consulte visão geral do cliente WCF e acessando serviços usando um cliente WCF.

Observação especial para usuários C++ gerenciados derivados dessa classe:

  • Coloque seu código de limpeza em (On)(Begin)Close (e/ou OnAbort), não em um destruidor.

  • Evite destruidores: eles fazem com que o compilador gere automaticamente IDisposable.

  • Evite membros não referenciados: eles podem fazer com que o compilador gere automaticamente IDisposable.

  • Evite finalizadores; mas, se você incluir um, deverá suprimir o aviso de build e chamar SuppressFinalize(Object) e o próprio finalizador de (On)(Begin)Close (e/ou OnAbort) para emular o que teria sido o comportamento de IDisposable gerado automaticamente.

Construtores

ClientBase<TChannel>()

Inicializa uma nova instância da classe ClientBase<TChannel> usando o ponto de extremidade de destino padrão do arquivo de configuração do aplicativo.

ClientBase<TChannel>(Binding, EndpointAddress)

Inicializa uma nova instância da classe ClientBase<TChannel> usando a associação e o endereço de destino especificados.

ClientBase<TChannel>(InstanceContext)

Inicializa uma nova instância da classe ClientBase<TChannel> usando o callbackInstance como o objeto de retorno de chamada em uma conversa duplex.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Inicializa uma nova instância da classe ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Inicializa uma nova instância da classe ClientBase<TChannel> usando os objetos InstanceContext e ServiceEndpoint especificados.

ClientBase<TChannel>(InstanceContext, String)

Inicializa uma nova instância da classe ClientBase<TChannel> usando as informações de configuração do serviço de retorno de chamada e do ponto de extremidade especificados.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Inicializa uma nova instância da classe ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, String, String)

Inicializa uma nova instância da classe ClientBase<TChannel>.

ClientBase<TChannel>(ServiceEndpoint)

Inicializa uma nova instância da classe ClientBase<TChannel> usando o ServiceEndpointespecificado.

ClientBase<TChannel>(String)

Inicializa uma nova instância da classe ClientBase<TChannel> usando as informações de configuração especificadas no arquivo de configuração do aplicativo por endpointConfigurationName.

ClientBase<TChannel>(String, EndpointAddress)

Inicializa uma nova instância da classe ClientBase<TChannel> usando o endereço de destino e as informações do ponto de extremidade especificados.

ClientBase<TChannel>(String, String)

Inicializa uma nova instância da classe ClientBase<TChannel>.

Propriedades

CacheSetting

Obtém ou define a configuração de cache.

Channel

Obtém o canal interno usado para enviar mensagens para pontos de extremidade de serviço configurados de várias forma.

ChannelFactory

Obtém o objeto ChannelFactory<TChannel> subjacente.

ClientCredentials

Obtém as credenciais do cliente usadas para chamar uma operação.

Endpoint

Obtém o ponto de extremidade de destino para o serviço ao qual o cliente WCF pode se conectar.

InnerChannel

Obtém a implementação de IClientChannel subjacente.

State

Obtém o estado atual do objeto ClientBase<TChannel>.

Métodos

Abort()

Faz com que o objeto ClientBase<TChannel> faça a transição imediatamente de seu estado atual para o estado fechado.

Close()

Faz com que o objeto ClientBase<TChannel> faça a transição de seu estado atual para o estado fechado.

CloseAsync()

Fornece a implementação base usada para criar objetos cliente do WCF (Windows Communication Foundation) que podem chamar serviços.

CreateChannel()

Retorna um novo canal para o serviço.

DisplayInitializationUI()

Instrui o canal interno a exibir uma interface do usuário se for necessário inicializar o canal antes de usá-lo.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetDefaultValueForInitialization<T>()

Replica o comportamento da palavra-chave padrão em C#.

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)
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object)

Fornece suporte para implementar o padrão assíncrono baseado em evento. Para obter mais informações sobre esse padrão, consulte Visão geral do padrão assíncrono baseado em evento.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
Open()

Faz com que o objeto ClientBase<TChannel> faça a transição do estado criado para o estado aberto.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

IAsyncDisposable.DisposeAsync()

Fornece a implementação base usada para criar objetos cliente do WCF (Windows Communication Foundation) que podem chamar serviços.

ICommunicationObject.BeginClose(AsyncCallback, Object)

Inicia uma operação assíncrona para fechar o ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Inicia uma operação assíncrona para fechar o ClientBase<TChannel> com um tempo limite especificado.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

Inicia uma operação assíncrona para abrir o objeto ClientBase<TChannel>.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Inicia uma operação assíncrona para abrir o objeto ClientBase<TChannel> dentro de um intervalo de tempo especificado.

ICommunicationObject.Close()

Faz com que um objeto de comunicação faça a transição de seu estado atual para o estado fechado.

ICommunicationObject.Close(TimeSpan)

Faz com que o objeto ClientBase<TChannel> faça a transição de seu estado atual para o estado fechado.

ICommunicationObject.Closed

O manipulador de eventos que é invocado quando o objeto ClientBase<TChannel> fez a transição de seu estado atual para o estado fechado.

ICommunicationObject.Closing

O manipulador de eventos que é invocado quando o objeto ClientBase<TChannel> faz a transição de seu estado atual para o estado fechado.

ICommunicationObject.EndClose(IAsyncResult)

Conclui uma operação assíncrona para fechar o objeto ClientBase<TChannel>.

ICommunicationObject.EndOpen(IAsyncResult)

Conclui uma operação assíncrona para abrir o objeto ClientBase<TChannel>.

ICommunicationObject.Faulted

O manipulador de eventos que é invocado quando ocorre uma falha durante a execução de uma operação no objeto ClientBase<TChannel>.

ICommunicationObject.Open()

Faz com que um objeto de comunicação faça a transição do estado criado para o estado aberto.

ICommunicationObject.Open(TimeSpan)

Faz com que o objeto ClientBase<TChannel> faça a transição do estado criado para o estado aberto dentro de um intervalo de tempo especificado.

ICommunicationObject.Opened

O manipulador de eventos que é invocado quando o objeto ClientBase<TChannel> faz a transição do estado criado para o estado aberto.

ICommunicationObject.Opening

O manipulador de eventos que é invocado quando o objeto ClientBase<TChannel> faz a transição do estado criado para o estado aberto.

IDisposable.Dispose()

Implementação explícita do método Dispose().

Métodos de Extensão

ConfigureAwait(IAsyncDisposable, Boolean)

Configura como as esperas nas tarefas retornadas de um descartável assíncrono serão executadas.

Aplica-se a