Comparteix a través de


ClientBase<TChannel> Clase

Definición

Proporciona la implementación base que se usa para crear objetos de cliente de Windows Communication Foundation (WCF) que pueden llamar a los servicios.

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

Canal que se va a usar para conectarse al servicio.

Herencia
ClientBase<TChannel>
Derivado
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo la herramienta de utilidad de metadatos serviceModel de (Svcutil.exe) extiende la clase ClientBase<TChannel> para crear una clase 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

Comentarios

Amplíe la clase ClientBase<TChannel> para crear un objeto de cliente WCF personalizado que se pueda usar para conectarse a un servicio. Normalmente, la clase base de cliente WCF se extiende por una herramienta como la herramienta de utilidad de metadatos de ServiceModel (Svcutil.exe) en su nombre. Para obtener un ejemplo, vea la sección Ejemplo.

Los desarrolladores que prefieren el uso de las interfaces y la clase System.ServiceModel.ChannelFactory<TChannel> pueden usar la clase ClientBase<TChannel> de forma rápida y sencilla. En todos los casos, esta clase ajusta o expone los métodos y la funcionalidad de la clase System.ServiceModel.ChannelFactory<TChannel> y la interfaz System.ServiceModel.IClientChannel.

Al usar la clase System.ServiceModel.ServiceHost, puede crear la clase y modificar el punto de conexión, el generador de canales o la información de seguridad antes de realizar llamadas o llamar a Open. Para obtener más información, vea información general del cliente WCF y acceder a servicios mediante un cliente WCF.

Nota especial para los usuarios de C++ administrados derivados de esta clase:

  • Coloque el código de limpieza en (On)(Begin)Close (and/or OnAbort), no en un destructor.

  • Evite destructores: hacen que el compilador genere automáticamente IDisposable.

  • Evitar miembros que no son de referencia: pueden hacer que el compilador genere automáticamente IDisposable.

  • Evitar finalizadores; pero si incluye uno, debe suprimir la advertencia de compilación y llamar a SuppressFinalize(Object) y al propio finalizador de (On)(Begin)Close (y/o OnAbort) para emular lo que habría sido el comportamiento de IDisposable generado automáticamente.

Constructores

ClientBase<TChannel>()

Inicializa una nueva instancia de la clase ClientBase<TChannel> mediante el punto de conexión de destino predeterminado desde el archivo de configuración de la aplicación.

ClientBase<TChannel>(Binding, EndpointAddress)

Inicializa una nueva instancia de la clase ClientBase<TChannel> mediante el enlace y la dirección de destino especificados.

ClientBase<TChannel>(InstanceContext)

Inicializa una nueva instancia de la clase ClientBase<TChannel> utilizando el callbackInstance como objeto de devolución de llamada en una conversación dúplex.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Inicializa una nueva instancia de la clase ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Inicializa una nueva instancia de la clase ClientBase<TChannel> utilizando los objetos InstanceContext y ServiceEndpoint especificados.

ClientBase<TChannel>(InstanceContext, String)

Inicializa una nueva instancia de la clase ClientBase<TChannel> mediante el servicio de devolución de llamada y la información de configuración del punto de conexión especificados.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Inicializa una nueva instancia de la clase ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, String, String)

Inicializa una nueva instancia de la clase ClientBase<TChannel>.

ClientBase<TChannel>(ServiceEndpoint)

Inicializa una nueva instancia de la clase ClientBase<TChannel> mediante el ServiceEndpointespecificado.

ClientBase<TChannel>(String)

Inicializa una nueva instancia de la clase ClientBase<TChannel> mediante la información de configuración especificada en el archivo de configuración de la aplicación mediante endpointConfigurationName.

ClientBase<TChannel>(String, EndpointAddress)

Inicializa una nueva instancia de la clase ClientBase<TChannel> mediante la dirección de destino y la información del punto de conexión especificados.

ClientBase<TChannel>(String, String)

Inicializa una nueva instancia de la clase ClientBase<TChannel>.

Propiedades

CacheSetting

Obtiene o establece la configuración de caché.

Channel

Obtiene el canal interno que se usa para enviar mensajes a varios puntos de conexión de servicio configurados.

ChannelFactory

Obtiene el objeto ChannelFactory<TChannel> subyacente.

ClientCredentials

Obtiene las credenciales de cliente usadas para llamar a una operación.

Endpoint

Obtiene el punto de conexión de destino del servicio al que puede conectarse el cliente WCF.

InnerChannel

Obtiene la implementación del IClientChannel subyacente.

State

Obtiene el estado actual del objeto ClientBase<TChannel>.

Métodos

Abort()

Hace que el objeto ClientBase<TChannel> realice la transición inmediatamente de su estado actual al estado cerrado.

Close()

Hace que el objeto ClientBase<TChannel> pase de su estado actual al estado cerrado.

CloseAsync()

Proporciona la implementación base que se usa para crear objetos de cliente de Windows Communication Foundation (WCF) que pueden llamar a los servicios.

CreateChannel()

Devuelve un nuevo canal al servicio.

DisplayInitializationUI()

Indica al canal interno que muestre una interfaz de usuario si es necesario inicializar el canal antes de usarlo.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetDefaultValueForInitialization<T>()

Replica el comportamiento de la palabra clave predeterminada en C#.

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object)

Proporciona compatibilidad para implementar el patrón asincrónico basado en eventos. Para obtener más información sobre este patrón, consulte Introducción al patrón asincrónico basado en eventos.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
Open()

Hace que el objeto ClientBase<TChannel> realice la transición del estado creado al estado abierto.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IAsyncDisposable.DisposeAsync()

Proporciona la implementación base que se usa para crear objetos de cliente de Windows Communication Foundation (WCF) que pueden llamar a los servicios.

ICommunicationObject.BeginClose(AsyncCallback, Object)

Inicia una operación asincrónica para cerrar el ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para cerrar el ClientBase<TChannel> con un tiempo de espera especificado.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

Comienza una operación asincrónica para abrir el objeto ClientBase<TChannel>.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para abrir el objeto ClientBase<TChannel> dentro de un intervalo de tiempo especificado.

ICommunicationObject.Close()

Hace que un objeto de comunicación pase de su estado actual al estado cerrado.

ICommunicationObject.Close(TimeSpan)

Hace que el objeto ClientBase<TChannel> pase de su estado actual al estado cerrado.

ICommunicationObject.Closed

Controlador de eventos que se invoca cuando el objeto ClientBase<TChannel> ha pasado de su estado actual al estado cerrado.

ICommunicationObject.Closing

Controlador de eventos que se invoca cuando el objeto ClientBase<TChannel> pasa de su estado actual al estado cerrado.

ICommunicationObject.EndClose(IAsyncResult)

Completa una operación asincrónica para cerrar el objeto ClientBase<TChannel>.

ICommunicationObject.EndOpen(IAsyncResult)

Completa una operación asincrónica para abrir el objeto ClientBase<TChannel>.

ICommunicationObject.Faulted

Controlador de eventos que se invoca cuando se produce un error al realizar una operación en el objeto ClientBase<TChannel>.

ICommunicationObject.Open()

Hace que un objeto de comunicación pase del estado creado al estado abierto.

ICommunicationObject.Open(TimeSpan)

Hace que el objeto ClientBase<TChannel> pase del estado creado al estado abierto dentro de un intervalo de tiempo especificado.

ICommunicationObject.Opened

Controlador de eventos que se invoca cuando el objeto ClientBase<TChannel> pasa del estado creado al estado abierto.

ICommunicationObject.Opening

Controlador de eventos que se invoca cuando el objeto ClientBase<TChannel> pasa del estado creado al estado abierto.

IDisposable.Dispose()

Implementación explícita del método Dispose().

Métodos de extensión

ConfigureAwait(IAsyncDisposable, Boolean)

Configura cómo se realizarán las esperas en las tareas devueltas desde un descartable asincrónico.

Se aplica a