ClientBase<TChannel> ClientBase<TChannel> ClientBase<TChannel> ClientBase<TChannel> Class

Définition

Fournit l’implémentation de base utilisée pour créer des objets clients Windows Communication Foundation (WCF) pouvant appeler des services.Provides the base implementation used to create Windows Communication Foundation (WCF) client objects that can call services.

generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : IDisposable, System::ServiceModel::ICommunicationObject
public abstract class ClientBase<TChannel> : IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface IDisposable
    interface ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject, IDisposable

Paramètres de type

TChannel

Canal à utiliser pour se connecter au service.The channel to be used to connect to the service.

Héritage
ClientBase<TChannel>ClientBase<TChannel>ClientBase<TChannel>ClientBase<TChannel>
Dérivé
Implémente

Exemples

L’exemple de code suivant montre comment l' outil ServiceModel Metadata Utility Tool (Svcutil. exe) étend la classe ClientBase<TChannel> pour créer une classe de client WCF.The following code example shows how the ServiceModel Metadata Utility Tool (Svcutil.exe) extends the ClientBase<TChannel> class to create a WCF client class.

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

Remarques

Étendez la classe ClientBase<TChannel> pour créer un objet client WCF personnalisé qui peut être utilisé pour se connecter à un service.Extend the ClientBase<TChannel> class to create a custom WCF client object that can be used to connect to a service. En règle générale, la classe de base du client WCF est étendue par un outil tel que ServiceModel Metadata Utility Tool (Svcutil. exe) en votre nom.Typically, the WCF client base class is extended by a tool such as the ServiceModel Metadata Utility Tool (Svcutil.exe) on your behalf. Consultez la section d'exemples.For an example, see the Example section.

La classe ClientBase<TChannel> peut être utilisée de manière rapide et facile par les développeurs qui préfèrent les objets à l'utilisation des interfaces et la classe System.ServiceModel.ChannelFactory<TChannel>.The ClientBase<TChannel> class can be used quickly and easily by developers who prefer objects to the use of the interfaces and the System.ServiceModel.ChannelFactory<TChannel> class. Dans tous les cas, cette classe encapsule ou expose les méthodes et les fonctionnalités de la classe System.ServiceModel.ChannelFactory<TChannel> et de l'interface System.ServiceModel.IClientChannel.In all cases this class wraps or exposes the methods and functionality of the System.ServiceModel.ChannelFactory<TChannel> class and the System.ServiceModel.IClientChannel interface.

De même que lorsque vous utilisez la classe System.ServiceModel.ServiceHost, vous pouvez créer la classe et modifier le point de terminaison, la fabrique de canal ou les informations de sécurité avant de lancer des appels ou d'appeler Open.As when using the System.ServiceModel.ServiceHost class, you can create the class and modify the endpoint, channel factory, or security information prior to making any calls or calling Open. Pour plus d’informations, consultez vue d’ensemble du client WCF et accès aux services à l’aide d’un client WCF.For more information, see WCF Client Overview and Accessing Services Using a WCF Client.

Remarque spéciale destinée aux utilisateurs C++ managés dérivés de cette classe :Special note for Managed C++ users deriving from this class:

  • Mettez votre code de nettoyage dans (On)(Begin)Close (and/or OnAbort), pas dans un destructeur.Put your clean-up code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Évitez les destructeurs car ils provoquent la génération automatique de IDisposable par le compilateur.Avoid destructors: they cause the compiler to auto-generate IDisposable.

  • Évitez les membres sans référence car ils peuvent provoquer la génération automatique de IDisposable par le compilateur.Avoid non-reference members: they can cause the compiler to auto-generate IDisposable.

  • Évitez les finaliseurs ; si vous en incluez un, vous devrez supprimer l'avertissement de génération et appeler SuppressFinalize(Object) et le finaliseur proprement dit à partir de (On)(Begin)Close (et/ou OnAbort) pour émuler ce qui aurait été le comportement IDisposable généré automatiquement.Avoid finalizers; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated IDisposable behavior.

Constructeurs

ClientBase<TChannel>() ClientBase<TChannel>() ClientBase<TChannel>() ClientBase<TChannel>()

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l'aide du point de terminaison cible par défaut du fichier de configuration de l'application.Initializes a new instance of the ClientBase<TChannel> class using the default target endpoint from the application configuration file.

ClientBase<TChannel>(Binding, EndpointAddress) ClientBase<TChannel>(Binding, EndpointAddress) ClientBase<TChannel>(Binding, EndpointAddress) ClientBase<TChannel>(Binding, EndpointAddress)

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l'aide de la liaison et de l'adresse cible spécifiées.Initializes a new instance of the ClientBase<TChannel> class using the specified binding and target address.

ClientBase<TChannel>(InstanceContext) ClientBase<TChannel>(InstanceContext) ClientBase<TChannel>(InstanceContext) ClientBase<TChannel>(InstanceContext)

Initialise une nouvelle instance de la classe ClientBase<TChannel> en utilisant callbackInstance en tant qu'objet de rappel dans une conversation duplex.Initializes a new instance of the ClientBase<TChannel> class using the callbackInstance as the callback object in a duplex conversation.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Initialise une nouvelle instance de la classe ClientBase<TChannel>.Initializes a new instance of the ClientBase<TChannel> class.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint) ClientBase<TChannel>(InstanceContext, ServiceEndpoint) ClientBase<TChannel>(InstanceContext, ServiceEndpoint) ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l'aide des objets InstanceContext et ServiceEndpoint spécifié.Initializes a new instance of the ClientBase<TChannel> class using the specified InstanceContext and ServiceEndpoint objects.

ClientBase<TChannel>(InstanceContext, String) ClientBase<TChannel>(InstanceContext, String) ClientBase<TChannel>(InstanceContext, String) ClientBase<TChannel>(InstanceContext, String)

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l'aide des informations du service de rappel et de configuration du point de terminaison spécifiées.Initializes a new instance of the ClientBase<TChannel> class using the specified callback service and endpoint configuration information.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress) ClientBase<TChannel>(InstanceContext, String, EndpointAddress) ClientBase<TChannel>(InstanceContext, String, EndpointAddress) ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Initialise une nouvelle instance de la classe ClientBase<TChannel>.Initializes a new instance of the ClientBase<TChannel> class.

ClientBase<TChannel>(InstanceContext, String, String) ClientBase<TChannel>(InstanceContext, String, String) ClientBase<TChannel>(InstanceContext, String, String) ClientBase<TChannel>(InstanceContext, String, String)

Initialise une nouvelle instance de la classe ClientBase<TChannel>.Initializes a new instance of the ClientBase<TChannel> class.

ClientBase<TChannel>(ServiceEndpoint) ClientBase<TChannel>(ServiceEndpoint) ClientBase<TChannel>(ServiceEndpoint) ClientBase<TChannel>(ServiceEndpoint)

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l’aide du ServiceEndpoint spécifié.Initializes a new instance of the ClientBase<TChannel> class using the specified ServiceEndpoint.

ClientBase<TChannel>(String) ClientBase<TChannel>(String) ClientBase<TChannel>(String) ClientBase<TChannel>(String)

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l'aide des informations de configuration spécifiées dans le fichier de configuration de l'application par endpointConfigurationName.Initializes a new instance of the ClientBase<TChannel> class using the configuration information specified in the application configuration file by endpointConfigurationName.

ClientBase<TChannel>(String, EndpointAddress) ClientBase<TChannel>(String, EndpointAddress) ClientBase<TChannel>(String, EndpointAddress) ClientBase<TChannel>(String, EndpointAddress)

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l'aide des informations d'adresse cible et de point de terminaison spécifiées.Initializes a new instance of the ClientBase<TChannel> class using the specified target address and endpoint information.

ClientBase<TChannel>(String, String) ClientBase<TChannel>(String, String) ClientBase<TChannel>(String, String) ClientBase<TChannel>(String, String)

Initialise une nouvelle instance de la classe ClientBase<TChannel>.Initializes a new instance of the ClientBase<TChannel> class.

Propriétés

CacheSetting CacheSetting CacheSetting CacheSetting

Obtient ou définit le paramètre de cache.Gets or sets the cache setting.

Channel Channel Channel Channel

Obtient le canal interne utilisé pour envoyer des messages à divers points de terminaison de service configurés.Gets the inner channel used to send messages to variously configured service endpoints.

ChannelFactory ChannelFactory ChannelFactory ChannelFactory

Obtient l'objet ChannelFactory<TChannel> sous-jacent.Gets the underlying ChannelFactory<TChannel> object.

ClientCredentials ClientCredentials ClientCredentials ClientCredentials

Obtient les informations d'identification du client utilisées pour appeler une opération.Gets the client credentials used to call an operation.

Endpoint Endpoint Endpoint Endpoint

Obtient le point de terminaison cible pour le service auquel le client WCF peut se connecter.Gets the target endpoint for the service to which the WCF client can connect.

InnerChannel InnerChannel InnerChannel InnerChannel

Obtient l'implémentation IClientChannel sous-jacente.Gets the underlying IClientChannel implementation.

State State State State

Obtient l'état actuel de l'objet ClientBase<TChannel>.Gets the current state of the ClientBase<TChannel> object.

Méthodes

Abort() Abort() Abort() Abort()

Provoque la transition immédiate d'un objet ClientBase<TChannel> de son état actuel à l'état fermé.Causes the ClientBase<TChannel> object to transition immediately from its current state into the closed state.

Close() Close() Close() Close()

Provoque la transition d'un objet ClientBase<TChannel> de son état actuel à l'état fermé.Causes the ClientBase<TChannel> object to transition from its current state into the closed state.

CreateChannel() CreateChannel() CreateChannel() CreateChannel()

Retourne un nouveau canal conduisant au service.Returns a new channel to the service.

DisplayInitializationUI() DisplayInitializationUI() DisplayInitializationUI() DisplayInitializationUI()

Demande au canal interne d'afficher une interface utilisateur lorsque celle-ci est requise pour initialiser le canal avant son utilisation.Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetDefaultValueForInitialization<T>() GetDefaultValueForInitialization<T>() GetDefaultValueForInitialization<T>() GetDefaultValueForInitialization<T>()

Réplique le comportement du mot clé par défaut en C#.Replicates the behavior of the default keyword in C#.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
InvokeAsync(ClientBase<TChannel>, Object[], ClientBase<TChannel>, SendOrPostCallback, Object) InvokeAsync(ClientBase<TChannel>, Object[], ClientBase<TChannel>, SendOrPostCallback, Object) InvokeAsync(ClientBase<TChannel>, Object[], ClientBase<TChannel>, SendOrPostCallback, Object) InvokeAsync(ClientBase<TChannel>, Object[], ClientBase<TChannel>, SendOrPostCallback, Object)

Prend en charge l'implémentation du modèle asynchrone basé sur des événements.Provides support for implementing the event-based asynchronous pattern. Pour plus d’informations sur ce modèle, consultez Vue d’ensemble du modèle asynchrone basé sur les événements.For more information about this pattern, see Event-based Asynchronous Pattern Overview.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
Open() Open() Open() Open()

Provoque la transition d'un objet ClientBase<TChannel> de l'état créé à l'état ouvert.Causes the ClientBase<TChannel> object to transition from the created state into the opened state.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Implémentations d’interfaces explicites

ICommunicationObject.BeginClose(AsyncCallback, Object) ICommunicationObject.BeginClose(AsyncCallback, Object) ICommunicationObject.BeginClose(AsyncCallback, Object) ICommunicationObject.BeginClose(AsyncCallback, Object)

Commence une opération asynchrone pour fermer l'objet ClientBase<TChannel>.Begins an asynchronous operation to close the ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour fermer l'objet ClientBase<TChannel> dans un délai d'attente spécifié.Begins an asynchronous operation to close the ClientBase<TChannel> with a specified timeout.

ICommunicationObject.BeginOpen(AsyncCallback, Object) ICommunicationObject.BeginOpen(AsyncCallback, Object) ICommunicationObject.BeginOpen(AsyncCallback, Object) ICommunicationObject.BeginOpen(AsyncCallback, Object)

Commence une opération asynchrone pour ouvrir l'objet ClientBase<TChannel>.Begins an asynchronous operation to open the ClientBase<TChannel> object.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour ouvrir l'objet ClientBase<TChannel> dans un intervalle de temps spécifié.Begins an asynchronous operation to open the ClientBase<TChannel> object within a specified interval of time.

ICommunicationObject.Close() ICommunicationObject.Close() ICommunicationObject.Close() ICommunicationObject.Close()
ICommunicationObject.Close(TimeSpan) ICommunicationObject.Close(TimeSpan) ICommunicationObject.Close(TimeSpan) ICommunicationObject.Close(TimeSpan)

Provoque la transition d'un objet ClientBase<TChannel> de son état actuel à l'état fermé.Causes the ClientBase<TChannel> object to transition from its current state into the closed state.

ICommunicationObject.Closed ICommunicationObject.Closed ICommunicationObject.Closed ICommunicationObject.Closed

Gestionnaire d'événements appelé lorsque l'objet ClientBase<TChannel> est passé de son état actuel à l'état fermé.The event handler that is invoked when the ClientBase<TChannel> object has transitioned from its current state to the closed state.

ICommunicationObject.Closing ICommunicationObject.Closing ICommunicationObject.Closing ICommunicationObject.Closing

Gestionnaire d'événements appelé lorsque l'objet ClientBase<TChannel> passe de son état actuel à l'état fermé.The event handler that is invoked when the ClientBase<TChannel> object transitions from its current state to the closed state.

ICommunicationObject.EndClose(IAsyncResult) ICommunicationObject.EndClose(IAsyncResult) ICommunicationObject.EndClose(IAsyncResult) ICommunicationObject.EndClose(IAsyncResult)

Clôture une opération asynchrone pour fermer l'objet ClientBase<TChannel>.Completes an asynchronous operation to close the ClientBase<TChannel> object.

ICommunicationObject.EndOpen(IAsyncResult) ICommunicationObject.EndOpen(IAsyncResult) ICommunicationObject.EndOpen(IAsyncResult) ICommunicationObject.EndOpen(IAsyncResult)

Clôture une opération asynchrone pour ouvrir l'objet ClientBase<TChannel>.Completes an asynchronous operation to open the ClientBase<TChannel> object.

ICommunicationObject.Faulted ICommunicationObject.Faulted ICommunicationObject.Faulted ICommunicationObject.Faulted

Gestionnaire d'événements appelé lorsqu'une erreur se produit lors de l'exécution d'une opération sur l'objet ClientBase<TChannel>.The event handler that is invoked when a fault occurs while performing an operation on the ClientBase<TChannel> object.

ICommunicationObject.Open() ICommunicationObject.Open() ICommunicationObject.Open() ICommunicationObject.Open()
ICommunicationObject.Open(TimeSpan) ICommunicationObject.Open(TimeSpan) ICommunicationObject.Open(TimeSpan) ICommunicationObject.Open(TimeSpan)

Provoque la transition d'un objet ClientBase<TChannel> de l'état créé à l'état ouvert dans un intervalle de temps spécifié.Causes the ClientBase<TChannel> object to transition from the created state into the opened state within a specified interval of time.

ICommunicationObject.Opened ICommunicationObject.Opened ICommunicationObject.Opened ICommunicationObject.Opened

Gestionnaire d'événements appelé lors de la transition de l'objet ClientBase<TChannel> de l'état créé à l'état ouvert.The event handler that is invoked when the ClientBase<TChannel> object transitions from the created state to the opened state.

ICommunicationObject.Opening ICommunicationObject.Opening ICommunicationObject.Opening ICommunicationObject.Opening

Gestionnaire d'événements appelé lors de la transition de l'objet ClientBase<TChannel> de l'état créé à l'état ouvert.The event handler that is invoked when the ClientBase<TChannel> object transitions from the created state to the opened state.

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Implémentation explicite de la méthode Dispose().Explicit implementation of the Dispose() method.

S’applique à