ClientBase<TChannel> Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
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 |
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. |