ClientBase<TChannel> 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.
Fornece a implementação base usada para criar objetos cliente Windows Communication Foundation (WCF) 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 : IDisposable, System::ServiceModel::ICommunicationObject
public abstract class ClientBase<TChannel> : 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 ICommunicationObject
interface IDisposable
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject
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 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 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 de Utilitário de Metadados do ServiceModel (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
| Nome | Description |
|---|---|
| ClientBase<TChannel>() |
Inicializa uma nova instância da ClientBase<TChannel> classe 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 ClientBase<TChannel> classe usando a associação especificada e o endereço de destino. |
| ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) |
Inicializa uma nova instância da classe ClientBase<TChannel>. |
| ClientBase<TChannel>(InstanceContext, ServiceEndpoint) |
Inicializa uma nova instância da ClientBase<TChannel> classe usando os objetos e InstanceContext especificadosServiceEndpoint. |
| 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>(InstanceContext, String) |
Inicializa uma nova instância da ClientBase<TChannel> classe usando o serviço de retorno de chamada especificado e as informações de configuração do ponto de extremidade. |
| ClientBase<TChannel>(InstanceContext) |
Inicializa uma nova instância da ClientBase<TChannel> classe usando o |
| ClientBase<TChannel>(ServiceEndpoint) |
Inicializa uma nova instância da ClientBase<TChannel> classe usando a especificada ServiceEndpoint. |
| ClientBase<TChannel>(String, EndpointAddress) |
Inicializa uma nova instância da ClientBase<TChannel> classe 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>. |
| ClientBase<TChannel>(String) |
Inicializa uma nova instância da ClientBase<TChannel> classe usando as informações de configuração especificadas no arquivo de configuração do aplicativo por |
Propriedades
| Nome | Description |
|---|---|
| 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 subjacente ChannelFactory<TChannel> . |
| 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 subjacente IClientChannel . |
| State |
Obtém o estado atual do ClientBase<TChannel> objeto. |
Métodos
| Nome | Description |
|---|---|
| Abort() |
Faz com que o ClientBase<TChannel> objeto faça a transição imediatamente de seu estado atual para o estado fechado. |
| Close() |
Faz com que o ClientBase<TChannel> objeto 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 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 hash predefinida. (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 ClientBase<TChannel> objeto 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
| Nome | Description |
|---|---|
| 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 com ClientBase<TChannel> um tempo limite especificado. |
| ICommunicationObject.BeginOpen(AsyncCallback, Object) |
Inicia uma operação assíncrona para abrir o ClientBase<TChannel> objeto. |
| ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) |
Inicia uma operação assíncrona para abrir o ClientBase<TChannel> objeto 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 ClientBase<TChannel> objeto faça a transição de seu estado atual para o estado fechado. |
| ICommunicationObject.Closed |
O manipulador de eventos que é invocado quando o objeto faz a ClientBase<TChannel> transição de seu estado atual para o estado fechado. |
| ICommunicationObject.Closing |
O manipulador de eventos que é invocado quando o objeto faz a ClientBase<TChannel> transição de seu estado atual para o estado fechado. |
| ICommunicationObject.EndClose(IAsyncResult) |
Conclui uma operação assíncrona para fechar o ClientBase<TChannel> objeto. |
| ICommunicationObject.EndOpen(IAsyncResult) |
Conclui uma operação assíncrona para abrir o ClientBase<TChannel> objeto. |
| ICommunicationObject.Faulted |
O manipulador de eventos que é invocado quando ocorre uma falha durante a execução de uma operação no ClientBase<TChannel> objeto. |
| 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 ClientBase<TChannel> objeto 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 faz a ClientBase<TChannel> transição do estado criado para o estado aberto. |
| ICommunicationObject.Opening |
O manipulador de eventos que é invocado quando o objeto faz a ClientBase<TChannel> transição do estado criado para o estado aberto. |
| IDisposable.Dispose() |
Implementação explícita do Dispose() método. |