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