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 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 : 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 ICommunicationObject
interface IDisposable
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
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 |
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> utilizando 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 |
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. |
CloseAsync() |
Proporciona la implementación base usada para crear objetos de cliente Windows Communication Foundation (WCF) que pueden llamar a los servicios. |
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. |
OpenAsync() |
Proporciona la implementación base usada para crear objetos de cliente Windows Communication Foundation (WCF) que pueden llamar a los servicios. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
IAsyncDisposable.DisposeAsync() |
Proporciona la implementación base usada para crear objetos de cliente Windows Communication Foundation (WCF) que pueden llamar a los servicios. |
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(). |
Métodos de extensión
CloseHelperAsync(ICommunicationObject, TimeSpan) |
Proporciona la implementación base usada para crear objetos de cliente Windows Communication Foundation (WCF) que pueden llamar a los servicios. |
OpenHelperAsync(ICommunicationObject, TimeSpan) |
Proporciona la implementación base usada para crear objetos de cliente Windows Communication Foundation (WCF) que pueden llamar a los servicios. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Configura la forma en la que se realizan las expresiones await en las tareas devueltas desde un elemento asincrónico descartable. |
Se aplica a
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de