ClientBase<TChannel> Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Offre l'implementazione di base usata per creare oggetti client di Windows Communication Foundation (WCF) che possono chiamare 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 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
Parametri di tipo
- TChannel
Canale da utilizzare per la connessione al servizio.
- Ereditarietà
-
ClientBase<TChannel>
- Derivato
- Implementazioni
Esempio
Nell'esempio di codice seguente viene illustrato come serviceModel Metadata Utility Tool (Svcutil.exe) estende la ClientBase<TChannel> classe 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 ClientBase<TChannel> classe 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.
È possibile utilizzare in modo rapido e semplice la classe ClientBase<TChannel> se si preferisce utilizzare gli oggetti anziché le interfacce e la classe System.ServiceModel.ChannelFactory<TChannel>. In tutti i casi, in questa classe viene eseguito il wrapping o l'esposizione dei metodi e delle funzionalità della classe System.ServiceModel.ChannelFactory<TChannel> e dell'interfaccia System.ServiceModel.IClientChannel.
Analogamente a quando si utilizza la classe System.ServiceModel.ServiceHost, è possibile creare la classe e modificare l'endpoint, la channel factory o le informazioni sulla sicurezza prima di eseguire qualsiasi chiamata o di chiamare il metodo Open. Per altre informazioni, vedere Panoramica del client WCF e accesso ai servizi tramite un client WCF.
Nota speciale in caso di derivazione da questa classe in C++ gestito:
Inserire il codice di pulitura in (On)(Begin)Close (e/o OnAbort), non in un distruttore.
Evitare i distruttori: comportano la generazione automatica dell'interfaccia IDisposable da parte del compilatore.
Evitare membri di non riferimento: possono comportare la generazione automatica dell'interfaccia IDisposable da parte del compilatore.
Evitare i finalizzatori. Se tuttavia si include un finalizzatore, è necessario annullare l'avviso di compilazione e chiamare il metodo SuppressFinalize(Object) e il finalizzatore stesso mediante (On)(Begin)Close (e/o OnAbort) al fine di emulare il comportamento dell'interfaccia IDisposable che sarebbe stata generata automaticamente.
Costruttori
ClientBase<TChannel>() |
Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando l'endpoint di destinazione predefinito del file di configurazione dell'applicazione. |
ClientBase<TChannel>(Binding, EndpointAddress) |
Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando l'associazione e l'indirizzo endpoint specificati. |
ClientBase<TChannel>(InstanceContext) |
Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando il parametro |
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> tramite gli oggetti InstanceContext e ServiceEndpoint specificati. |
ClientBase<TChannel>(InstanceContext, String) |
Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando il servizio di callback e le informazioni di configurazione dell'endpoint specificati. |
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> usando il ServiceEndpoint specificato. |
ClientBase<TChannel>(String) |
Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando le informazioni di configurazione specificate nel file di configurazione dell'applicazione mediante il parametro |
ClientBase<TChannel>(String, EndpointAddress) |
Inizializza una nuova istanza della classe ClientBase<TChannel> utilizzando le informazioni sull'endpoint e sull'indirizzo di destinazione specificate. |
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 endpoint del servizio con diverse configurazioni. |
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 al quale il client WCF può connettersi. |
InnerChannel |
Ottiene l'implementazione dell'interfaccia IClientChannel sottostante. |
State |
Ottiene lo stato corrente dell'oggetto ClientBase<TChannel>. |
Metodi
Abort() |
Determina la transizione immediata dell'oggetto ClientBase<TChannel> dallo stato corrente allo stato di chiusura. |
Close() |
Determina la transizione dell'oggetto ClientBase<TChannel> dallo stato corrente allo stato di chiusura. |
CloseAsync() |
Offre l'implementazione di base usata per creare oggetti client di Windows Communication Foundation (WCF) che possono chiamare servizi. |
CreateChannel() |
Restituisce un nuovo canale per il servizio. |
DisplayInitializationUI() |
Indica al canale interno di visualizzare un'interfaccia utente se necessaria per inizializzare il canale prima di utilizzarlo. |
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 l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object) |
Fornisce supporto per implementare il modello asincrono basato su eventi Per ulteriori informazioni su questo modello, vedere Cenni preliminari sul modello asincrono basato su eventi. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
Open() |
Determina la transizione dell'oggetto ClientBase<TChannel> dallo stato di creazione allo stato di apertura. |
OpenAsync() |
Offre l'implementazione di base usata per creare oggetti client di Windows Communication Foundation (WCF) che possono chiamare servizi. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IAsyncDisposable.DisposeAsync() |
Offre l'implementazione di base usata per creare oggetti client di Windows Communication Foundation (WCF) che possono chiamare servizi. |
ICommunicationObject.BeginClose(AsyncCallback, Object) |
Avvia un'operazione asincrona per chiudere l'oggetto ClientBase<TChannel>. |
ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona per chiudere l'oggetto ClientBase<TChannel> entro un determinato intervallo di tempo. |
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 l'intervallo di tempo specificato. |
ICommunicationObject.Close() |
Comporta la transizione di un oggetto di comunicazione dallo stato corrente allo stato di chiusura. |
ICommunicationObject.Close(TimeSpan) |
Determina la transizione dell'oggetto ClientBase<TChannel> dallo stato corrente allo stato di chiusura. |
ICommunicationObject.Closed |
Gestore eventi richiamato quando l'oggetto ClientBase<TChannel> ha eseguito la transizione dallo stato corrente allo stato di chiusura. |
ICommunicationObject.Closing |
Gestore eventi richiamato quando l'oggetto ClientBase<TChannel> esegue la transizione dallo stato corrente allo stato di chiusura. |
ICommunicationObject.EndClose(IAsyncResult) |
Completa un'operazione asincrona di chiusura dell'oggetto ClientBase<TChannel>. |
ICommunicationObject.EndOpen(IAsyncResult) |
Completa un'operazione asincrona di apertura dell'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() |
Comporta la transizione di un oggetto di comunicazione dallo stato di creazione allo stato di apertura. |
ICommunicationObject.Open(TimeSpan) |
Determina la transizione dell'oggetto ClientBase<TChannel> dallo stato di creazione allo stato di apertura entro l'intervallo di tempo specificato. |
ICommunicationObject.Opened |
Gestore eventi richiamato quando l'oggetto ClientBase<TChannel> esegue la transizione dallo stato di creazione allo stato di apertura. |
ICommunicationObject.Opening |
Gestore eventi richiamato quando l'oggetto ClientBase<TChannel> esegue la transizione dallo stato di creazione allo stato di apertura. |
IDisposable.Dispose() |
Implementazione esplicita del metodo Dispose(). |
Metodi di estensione
CloseHelperAsync(ICommunicationObject, TimeSpan) |
Offre l'implementazione di base usata per creare oggetti client di Windows Communication Foundation (WCF) che possono chiamare servizi. |
OpenHelperAsync(ICommunicationObject, TimeSpan) |
Offre l'implementazione di base usata per creare oggetti client di Windows Communication Foundation (WCF) che possono chiamare servizi. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Consente di configurare la modalità di esecuzione delle espressioni await per le attività restituite da un elemento disposable asincrono. |
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per