ClientBase<TChannel> Classe

Definição

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

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

Parâmetros de tipo

TChannel

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

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

Exemplos

O exemplo de código a seguir mostra como a Ferramenta do Utilitário de Metadados do ServiceModel (Svcutil.exe) estende a ClientBase<TChannel> 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 ClientBase<TChannel> classe 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 ServiceModel Metadata Utility Tool (Svcutil.exe) em seu nome. Para obter um exemplo, consulte a seção Exemplo.

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

Como ao usar a System.ServiceModel.ServiceHost classe, 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 chamadas Open. Para obter mais informações, consulte a visão geral do cliente do WCF e os serviços de acesso 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 IDisposableautomaticamente.

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

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

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 de aplicativo.

ClientBase<TChannel>(Binding, EndpointAddress)

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

ClientBase<TChannel>(InstanceContext)

Inicializa uma nova instância do ClientBase<TChannel> classe 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 de ponto de extremidade e de serviço de retorno de chamada especificadas.

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 ServiceEndpoint especificado.

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 de aplicativo pelo endpointConfigurationName.

ClientBase<TChannel>(String, EndpointAddress)

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

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 diferentemente.

ChannelFactory

Obtém o objeto ChannelFactory<TChannel> subjacente.

ClientCredentials

O cliente obtém as credenciais usadas para chamar uma operação.

Endpoint

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

InnerChannel

Obtém a implementação IClientChannel subjacente.

State

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

Métodos

Abort()

Faz com que o objeto ClientBase<TChannel> faça imediatamente a transição 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.

CreateChannel()

Retorna um novo canal para o serviço.

DisplayInitializationUI()

Instrui o canal interno a exibir uma interface do usuário, se uma é requerida para 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 default 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 mais informações sobre esse padrão, consulte Visão geral sobre o padrão assíncrono baseado em evento.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(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

ICommunicationObject.BeginClose(AsyncCallback, Object)

Começa 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)

Começa 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 do 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 invocado quando o objeto ClientBase<TChannel> faz uma transição do estado criado para o estado aberto.

ICommunicationObject.Closing

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

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 ao executar 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 em um intervalo de tempo especificado.

ICommunicationObject.Opened

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

ICommunicationObject.Opening

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

IDisposable.Dispose()

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

Aplica-se a