Condividi tramite


ClientBase<TChannel> Classe

Definizione

Fornisce l'implementazione di base utilizzata per creare oggetti client Windows Communication Foundation (WCF) che possono chiamare i servizi.

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

Parametri di tipo

TChannel

Canale da usare per connettersi al servizio.

Ereditarietà
ClientBase<TChannel>
Derivato
Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato come lo strumento utilità metadati servicemodel (Svcutil.exe) estende la classe ClientBase<TChannel> per creare una 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

Commenti

Estendere la classe ClientBase<TChannel> per creare un oggetto client WCF personalizzato che può essere usato per connettersi a un servizio. In genere, la classe di base client WCF viene estesa da uno strumento, ad esempio ServiceModel Metadata Utility Tool (Svcutil.exe) per conto dell'utente. Per un esempio, vedere la sezione Esempio.

La classe ClientBase<TChannel> può essere usata rapidamente e facilmente dagli sviluppatori che preferiscono gli oggetti all'uso delle interfacce e della classe System.ServiceModel.ChannelFactory<TChannel>. In tutti i casi questa classe esegue il wrapping o espone i metodi e le funzionalità della classe System.ServiceModel.ChannelFactory<TChannel> e dell'interfaccia System.ServiceModel.IClientChannel.

Come quando si usa la classe System.ServiceModel.ServiceHost, è possibile creare la classe e modificare l'endpoint, la channel factory o le informazioni di sicurezza prima di effettuare chiamate o chiamare Open. Per altre informazioni, vedere panoramica client WCF e accesso ai servizi tramite un client WCF.

Nota speciale per gli utenti C++ gestiti che derivano da questa classe:

  • Inserire il codice di pulizia in (On)(Begin)Close (and/or OnAbort), non in un distruttore.

  • Evitare distruttori: causano la generazione automatica del compilatore IDisposable.

  • Evitare membri non di riferimento: possono causare la generazione automatica del compilatore IDisposable.

  • Evitare finalizzatori; ma se ne includi uno, devi eliminare l'avviso di compilazione e chiamare SuppressFinalize(Object) e il finalizzatore stesso da (On)(Begin)Close (and/or OnAbort) per emulare il comportamento IDisposable generato automaticamente.

Costruttori

ClientBase<TChannel>()

Inizializza una nuova istanza della classe ClientBase<TChannel> usando l'endpoint di destinazione predefinito dal file di configurazione dell'applicazione.

ClientBase<TChannel>(Binding, EndpointAddress)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando l'associazione e l'indirizzo di destinazione specificati.

ClientBase<TChannel>(InstanceContext)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando il callbackInstance come oggetto callback in una conversazione duplex.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando gli oggetti InstanceContext e ServiceEndpoint specificati.

ClientBase<TChannel>(InstanceContext, String)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando le informazioni di configurazione del servizio di callback e dell'endpoint specificate.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, String, String)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

ClientBase<TChannel>(ServiceEndpoint)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando il ServiceEndpointspecificato.

ClientBase<TChannel>(String)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando le informazioni di configurazione specificate nel file di configurazione dell'applicazione da endpointConfigurationName.

ClientBase<TChannel>(String, EndpointAddress)

Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando l'indirizzo di destinazione e le informazioni sull'endpoint specificati.

ClientBase<TChannel>(String, String)

Inizializza una nuova istanza della classe ClientBase<TChannel>.

Proprietà

CacheSetting

Ottiene o imposta l'impostazione della cache.

Channel

Ottiene il canale interno utilizzato per inviare messaggi a diversi endpoint di servizio configurati.

ChannelFactory

Ottiene l'oggetto ChannelFactory<TChannel> sottostante.

ClientCredentials

Ottiene le credenziali client utilizzate per chiamare un'operazione.

Endpoint

Ottiene l'endpoint di destinazione per il servizio a cui il client WCF può connettersi.

InnerChannel

Ottiene l'implementazione del IClientChannel sottostante.

State

Ottiene lo stato corrente dell'oggetto ClientBase<TChannel>.

Metodi

Abort()

Fa sì che l'oggetto ClientBase<TChannel> passi immediatamente dallo stato corrente allo stato chiuso.

Close()

Fa sì che l'oggetto ClientBase<TChannel> passi dallo stato corrente allo stato chiuso.

CloseAsync()

Fornisce l'implementazione di base utilizzata per creare oggetti client Windows Communication Foundation (WCF) che possono chiamare i servizi.

CreateChannel()

Restituisce un nuovo canale al servizio.

DisplayInitializationUI()

Indica al canale interno di visualizzare un'interfaccia utente se necessario inizializzare il canale prima di usarlo.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetDefaultValueForInitialization<T>()

Replica il comportamento della parola chiave predefinita in C#.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object)

Fornisce supporto per l'implementazione del modello asincrono basato su eventi. Per altre informazioni su questo modello, vedere Cenni preliminari sul modello asincrono basato su eventi.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Open()

Fa sì che l'oggetto ClientBase<TChannel> passi dallo stato creato allo stato aperto.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IAsyncDisposable.DisposeAsync()

Fornisce l'implementazione di base utilizzata per creare oggetti client Windows Communication Foundation (WCF) che possono chiamare i servizi.

ICommunicationObject.BeginClose(AsyncCallback, Object)

Avvia un'operazione asincrona per chiudere il ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Avvia un'operazione asincrona per chiudere il ClientBase<TChannel> con un timeout specificato.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

Avvia un'operazione asincrona per aprire l'oggetto ClientBase<TChannel>.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Avvia un'operazione asincrona per aprire l'oggetto ClientBase<TChannel> entro un intervallo di tempo specificato.

ICommunicationObject.Close()

Fa sì che un oggetto di comunicazione passi dallo stato corrente allo stato chiuso.

ICommunicationObject.Close(TimeSpan)

Fa sì che l'oggetto ClientBase<TChannel> passi dallo stato corrente allo stato chiuso.

ICommunicationObject.Closed

Gestore eventi richiamato quando l'oggetto ClientBase<TChannel> è passato dallo stato corrente allo stato chiuso.

ICommunicationObject.Closing

Gestore eventi richiamato quando l'oggetto ClientBase<TChannel> passa dallo stato corrente allo stato chiuso.

ICommunicationObject.EndClose(IAsyncResult)

Completa un'operazione asincrona per chiudere l'oggetto ClientBase<TChannel>.

ICommunicationObject.EndOpen(IAsyncResult)

Completa un'operazione asincrona per aprire l'oggetto ClientBase<TChannel>.

ICommunicationObject.Faulted

Gestore eventi richiamato quando si verifica un errore durante l'esecuzione di un'operazione sull'oggetto ClientBase<TChannel>.

ICommunicationObject.Open()

Fa sì che un oggetto di comunicazione passi dallo stato creato allo stato aperto.

ICommunicationObject.Open(TimeSpan)

Fa sì che l'oggetto ClientBase<TChannel> passi dallo stato creato allo stato aperto entro un intervallo di tempo specificato.

ICommunicationObject.Opened

Gestore eventi richiamato quando l'oggetto ClientBase<TChannel> passa dallo stato creato allo stato aperto.

ICommunicationObject.Opening

Gestore eventi richiamato quando l'oggetto ClientBase<TChannel> passa dallo stato creato allo stato aperto.

IDisposable.Dispose()

Implementazione esplicita del metodo Dispose().

Metodi di estensione

ConfigureAwait(IAsyncDisposable, Boolean)

Configura il modo in cui verranno eseguite le attese nelle attività restituite da un oggetto eliminabile asincrono.

Si applica a