ClientBase<TChannel> Clase

Definición

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

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

El canal que se va a utilizar 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 de ServiceModel (Svcutil.exe) extiende la ClientBase<TChannel> clase 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

Extienda la ClientBase<TChannel> clase 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 serviceModel Metadata Utility Tool (Svcutil.exe) en su nombre. Para obtener un ejemplo, vea la sección Ejemplo.

Los programadores que prefieren los objetos al uso de las interfaces y la clase ClientBase<TChannel> pueden utilizar rápidamente y con facilidad la clase System.ServiceModel.ChannelFactory<TChannel>. En todos los casos, esta clase encapsula o expone los métodos y la funcionalidad de la clase System.ServiceModel.ChannelFactory<TChannel> y de la interfaz System.ServiceModel.IClientChannel.

Como al utilizar 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 WcF Client Overview and Accessing Services Using a WCF Client.

Nota especial para los usuarios de C++ que deriven de esta clase:

  • Coloque su código de limpieza en (On)(Begin)Close (y/o OnAbort), no en un destructor.

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

  • Evite los miembros sin referencia: pueden hacer que el compilador genere automáticamente IDisposable.

  • Evite los finalizadores; pero si incluye uno, debería suprimir la advertencia de creació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> utilizando el extremo de destino predeterminado del archivo de configuración de aplicación.

ClientBase<TChannel>(Binding, EndpointAddress)

Inicializa una nueva instancia de la clase ClientBase<TChannel> utilizando la dirección de enlace y de destino especificada.

ClientBase<TChannel>(InstanceContext)

Inicializa una nueva instancia de la clase ClientBase<TChannel> utilizando 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> utilizando el servicio de devolución de llamada especificado y la información de configuración del extremo.

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> usando la clase ServiceEndpoint especificada.

ClientBase<TChannel>(String)

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

ClientBase<TChannel>(String, EndpointAddress)

Inicializa una nueva instancia de la clase ClientBase<TChannel> con la dirección de destino e información de extremo especificadas.

ClientBase<TChannel>(String, String)

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

Propiedades

CacheSetting

Obtiene o establece la configuración de la memoria caché.

Channel

Obtiene el canal interno utilizado para enviar mensajes a extremos de servicio configurados de distinta manera.

ChannelFactory

Obtiene el objeto ChannelFactory<TChannel> subyacente.

ClientCredentials

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

Endpoint

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

InnerChannel

Obtiene la implementación IClientChannel subyacente.

State

Obtiene el estado actual del objeto ClientBase<TChannel>.

Métodos

Abort()

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

Close()

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

CreateChannel()

Devuelve un canal nuevo al servicio.

DisplayInitializationUI()

Indica al canal interno que muestre una interfaz de usuario si se necesita para inicializar el canal antes de utilizarlo.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetDefaultValueForInitialization<T>()

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

GetHashCode()

Sirve como la 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 modelo asincrónico basado en eventos Para más información sobre este patrón, consulte Información general sobre el modelo asincrónico basado en eventos.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Open()

Provoca que el objeto ClientBase<TChannel> pase desde el estado creado al estado abierto.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ICommunicationObject.BeginClose(AsyncCallback, Object)

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

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para cerrar 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()

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

ICommunicationObject.Close(TimeSpan)

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

ICommunicationObject.Closed

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

ICommunicationObject.Closing

El controlador de eventos que se invoca cuando el objeto ClientBase<TChannel> pasa desde 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

El controlador de eventos que se invoca cuando se produce un error mientras se realiza 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)

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

ICommunicationObject.Opened

El controlador de eventos que se invoca cuando el objeto ClientBase<TChannel> pasa desde el estado creado al estado abierto.

ICommunicationObject.Opening

El controlador de eventos que se invoca cuando el objeto ClientBase<TChannel> pasa desde el estado creado al estado abierto.

IDisposable.Dispose()

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

Se aplica a