ClientBase<TChannel> Classe

Définition

Fournit l’implémentation de base utilisée pour créer des objets clients Windows Communication Foundation (WCF) pouvant appeler des services.

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

Paramètres de type

TChannel

Canal à utiliser pour se connecter au service.

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

Exemples

L’exemple de code suivant montre comment l’outil utilitaire de métadonnées ServiceModel (Svcutil.exe) étend la ClientBase<TChannel> classe pour créer une classe client 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

Remarques

Étendez la ClientBase<TChannel> classe pour créer un objet client WCF personnalisé qui peut être utilisé pour se connecter à un service. En règle générale, la classe de base du client WCF est étendue par un outil tel que l’outil ServiceModel Metadata Utility (Svcutil.exe) en votre nom. Consultez la section d'exemples.

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>. 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.

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. Pour plus d’informations, consultez vue d’ensemble du client WCF et accès aux services à l’aide d’un client WCF.

Remarque spéciale destinée aux utilisateurs C++ managés dérivés de cette classe :

  • Mettez votre code de nettoyage dans (On)(Begin)Close (and/or OnAbort), pas dans un destructeur.

  • Évitez les destructeurs car ils provoquent la génération automatique de IDisposable par le compilateur.

  • Évitez les membres sans référence car ils peuvent provoquer la génération automatique de IDisposable par le compilateur.

  • É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.

Constructeurs

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.

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.

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.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Initialise une nouvelle instance de la classe ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l'aide des objets InstanceContext et ServiceEndpoint spécifié.

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.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Initialise une nouvelle instance de la classe ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, String, String)

Initialise une nouvelle instance de la classe ClientBase<TChannel>.

ClientBase<TChannel>(ServiceEndpoint)

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l’aide du ServiceEndpoint spécifié.

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.

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.

ClientBase<TChannel>(String, String)

Initialise une nouvelle instance de la classe ClientBase<TChannel>.

Propriétés

CacheSetting

Obtient ou définit le paramètre de cache.

Channel

Obtient le canal interne utilisé pour envoyer des messages à divers points de terminaison de service configurés.

ChannelFactory

Obtient l'objet ChannelFactory<TChannel> sous-jacent.

ClientCredentials

Obtient les informations d'identification du client utilisées pour appeler une opération.

Endpoint

Obtient le point de terminaison cible pour le service auquel le client WCF peut se connecter.

InnerChannel

Obtient l'implémentation IClientChannel sous-jacente.

State

Obtient l'état actuel de l'objet ClientBase<TChannel>.

Méthodes

Abort()

Provoque la transition immédiate d'un objet ClientBase<TChannel> de son état actuel à l'état fermé.

Close()

Provoque la transition d'un objet ClientBase<TChannel> de son état actuel à l'état fermé.

CreateChannel()

Retourne un nouveau canal conduisant au service.

DisplayInitializationUI()

Demande au canal interne d'afficher une interface utilisateur lorsque celle-ci est requise pour initialiser le canal avant son utilisation.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetDefaultValueForInitialization<T>()

Réplique le comportement du mot clé par défaut en C#.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

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

Prend en charge l'implémentation du modèle asynchrone basé sur des événements. Pour plus d’informations sur ce modèle, consultez Vue d’ensemble du modèle asynchrone basé sur les événements.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Open()

Provoque la transition d'un objet ClientBase<TChannel> de l'état créé à l'état ouvert.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

ICommunicationObject.BeginClose(AsyncCallback, Object)

Commence une opération asynchrone pour fermer l'objet ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour fermer l'objet ClientBase<TChannel> dans un délai d'attente spécifié.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

Commence une opération asynchrone pour ouvrir l'objet ClientBase<TChannel>.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour ouvrir l'objet ClientBase<TChannel> dans un intervalle de temps spécifié.

ICommunicationObject.Close()

Provoque la transition d'un objet de communication de son état actuel à l'état fermé.

ICommunicationObject.Close(TimeSpan)

Provoque la transition d'un objet ClientBase<TChannel> de son état actuel à l'état fermé.

ICommunicationObject.Closed

Gestionnaire d'événements appelé lorsque l'objet ClientBase<TChannel> est passé de son état actuel à l'état fermé.

ICommunicationObject.Closing

Gestionnaire d'événements appelé lorsque l'objet ClientBase<TChannel> passe de son état actuel à l'état fermé.

ICommunicationObject.EndClose(IAsyncResult)

Clôture une opération asynchrone pour fermer l'objet ClientBase<TChannel>.

ICommunicationObject.EndOpen(IAsyncResult)

Clôture une opération asynchrone pour ouvrir l'objet ClientBase<TChannel>.

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>.

ICommunicationObject.Open()

Provoque la transition d'un objet de communication de l'état créé à l'état ouvert.

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é.

ICommunicationObject.Opened

Gestionnaire d'événements appelé lors de la transition de l'objet ClientBase<TChannel> de l'état créé à l'état ouvert.

ICommunicationObject.Opening

Gestionnaire d'événements appelé lors de la transition de l'objet ClientBase<TChannel> de l'état créé à l'état ouvert.

IDisposable.Dispose()

Implémentation explicite de la méthode Dispose().

S’applique à