ClientBase<TChannel> Classe

Définition

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

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

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 classe ClientBase<TChannel> pour créer une classe 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

Remarques

Étendez la classe ClientBase<TChannel> 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 utilitaire de métadonnées ServiceModel (Svcutil.exe) en votre nom. Pour obtenir un exemple, consultez la section Exemple.

La classe ClientBase<TChannel> peut être utilisée rapidement et facilement par les développeurs qui préfèrent les objets à l’utilisation des interfaces et de 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.

Comme lors de l’utilisation de la classe System.ServiceModel.ServiceHost, vous pouvez créer la classe et modifier le point de terminaison, la fabrique de canaux ou les informations de sécurité avant d’effectuer 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’unclient WCF.

Remarque spéciale pour les utilisateurs C++ managés dérivant de cette classe :

  • Placez votre code de nettoyage dans (On)(Begin)Close (et/ou OnAbort), et non dans un destructeur.

  • Évitez les destructeurs : ils provoquent la génération automatique du compilateur IDisposable.

  • Évitez les membres non référencés : ils peuvent provoquer la génération automatique du compilateur IDisposable.

  • Évitez les finaliseurs ; mais si vous en incluez un, vous devez supprimer l’avertissement de build et appeler SuppressFinalize(Object) et le finaliseur lui-même de (On)(Begin)Close (et/ou OnAbort) pour émuler ce qui aurait été le comportement de 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 à partir 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> à l’aide du 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és.

ClientBase<TChannel>(InstanceContext, String)

Initialise une nouvelle instance de la classe ClientBase<TChannel> à l’aide des informations de configuration du service de rappel et du point de terminaison spécifiés.

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 de la ServiceEndpointspécifiée.

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 de l’adresse cible et des informations 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 à différents 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 du 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 de l’objet ClientBase<TChannel> de son état actuel vers l’état fermé.

Close()

Provoque la transition de l’objet ClientBase<TChannel> de son état actuel vers l’état fermé.

CloseAsync()

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

CreateChannel()

Retourne un nouveau canal vers le service.

DisplayInitializationUI()

Indique au canal interne d’afficher une interface utilisateur si une interface utilisateur est nécessaire pour initialiser le canal avant de l’utiliser.

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()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

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

Fournit la prise en charge de l’implémentation du modèle asynchrone basé sur les é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 Objectactuel.

(Hérité de Object)
Open()

Provoque la transition de l’objet ClientBase<TChannel> de l’état créé vers l’état ouvert.

ToString()

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

(Hérité de Object)

Implémentations d’interfaces explicites

IAsyncDisposable.DisposeAsync()

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

ICommunicationObject.BeginClose(AsyncCallback, Object)

Commence une opération asynchrone pour fermer le ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Commence une opération asynchrone pour fermer le ClientBase<TChannel> avec un délai d’expiration 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 vers l’état fermé.

ICommunicationObject.Close(TimeSpan)

Provoque la transition de l’objet ClientBase<TChannel> de son état actuel vers l’état fermé.

ICommunicationObject.Closed

Gestionnaire d’événements appelé lorsque l’objet ClientBase<TChannel> a 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)

Termine une opération asynchrone pour fermer l’objet ClientBase<TChannel>.

ICommunicationObject.EndOpen(IAsyncResult)

Termine 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 entre l’état créé et l’état ouvert.

ICommunicationObject.Open(TimeSpan)

Provoque la transition de l’objet ClientBase<TChannel> de l’état créé vers l’état ouvert dans un intervalle de temps spécifié.

ICommunicationObject.Opened

Gestionnaire d’événements appelé lorsque l’objet ClientBase<TChannel> passe de l’état créé à l’état ouvert.

ICommunicationObject.Opening

Gestionnaire d’événements appelé lorsque l’objet ClientBase<TChannel> passe de l’état créé à l’état ouvert.

IDisposable.Dispose()

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

Méthodes d’extension

ConfigureAwait(IAsyncDisposable, Boolean)

Configure la façon dont les attentes sur les tâches retournées à partir d’un jetable asynchrone sont effectuées.

S’applique à