ClientBase<TChannel> Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje základní implementaci používanou k vytvoření klientských objektů WCF (Windows Communication Foundation), které mohou volat služby.
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
Parametry typu
- TChannel
Kanál, který se má použít pro připojení ke službě.
- Dědičnost
-
ClientBase<TChannel>
- Odvozené
- Implementuje
Příklady
Následující příklad kódu ukazuje, jak nástroj ServiceModel Metadata Utility Tool (Svcutil.exe) rozšiřuje třídu ClientBase<TChannel> vytvořit klientskou třídu 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
Poznámky
Rozšiřte třídu ClientBase<TChannel> a vytvořte vlastní objekt klienta WCF, který lze použít pro připojení ke službě. Základní třída klienta WCF je obvykle rozšířena nástrojem, jako je nástroj ServiceModel Metadata Utility Tool (Svcutil.exe) vaším jménem. Příklad najdete v části Příklad.
Třídu ClientBase<TChannel> mohou rychle a snadno používat vývojáři, kteří preferují použití rozhraní a třídy System.ServiceModel.ChannelFactory<TChannel>. Ve všech případech tato třída zabalí nebo zveřejňuje metody a funkce třídy System.ServiceModel.ChannelFactory<TChannel> a rozhraní System.ServiceModel.IClientChannel.
Stejně jako při použití třídy System.ServiceModel.ServiceHost můžete vytvořit třídu a upravit koncový bod, objekt pro vytváření kanálů nebo informace o zabezpečení před voláním nebo voláním Open. Další informace naleznete v tématu Přehled klienta WCF a Přístup ke službám pomocí klienta WCF.
Zvláštní poznámka pro spravované uživatele C++, kteří pocházejí z této třídy:
Umístěte kód čištění do (On)(Begin)Close (a/nebo OnAbort), ne do destruktoru.
Vyhněte se destruktorům: způsobí, že kompilátor automaticky vygeneruje IDisposable.
Vyhněte se nenákazovým členům: mohou způsobit, že kompilátor automaticky vygeneruje IDisposable.
Vyhněte se finalizačním metodám; ale pokud ho zahrnete, měli byste potlačit upozornění sestavení a volat SuppressFinalize(Object) a finalizátor samotný z (On)(Begin)Close (a/nebo OnAbort) emulovat, co by bylo automaticky generované IDisposable chování.
Konstruktory
ClientBase<TChannel>() |
Inicializuje novou instanci třídy ClientBase<TChannel> pomocí výchozího cílového koncového bodu z konfiguračního souboru aplikace. |
ClientBase<TChannel>(Binding, EndpointAddress) |
Inicializuje novou instanci třídy ClientBase<TChannel> pomocí zadané vazby a cílové adresy. |
ClientBase<TChannel>(InstanceContext) |
Inicializuje novou instanci třídy ClientBase<TChannel> pomocí |
ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) |
Inicializuje novou instanci ClientBase<TChannel> třídy. |
ClientBase<TChannel>(InstanceContext, ServiceEndpoint) |
Inicializuje novou instanci třídy ClientBase<TChannel> pomocí zadaných InstanceContext a ServiceEndpoint objektů. |
ClientBase<TChannel>(InstanceContext, String) |
Inicializuje novou instanci třídy ClientBase<TChannel> pomocí zadané služby zpětného volání a informací o konfiguraci koncového bodu. |
ClientBase<TChannel>(InstanceContext, String, EndpointAddress) |
Inicializuje novou instanci ClientBase<TChannel> třídy. |
ClientBase<TChannel>(InstanceContext, String, String) |
Inicializuje novou instanci ClientBase<TChannel> třídy. |
ClientBase<TChannel>(ServiceEndpoint) |
Inicializuje novou instanci třídy ClientBase<TChannel> pomocí zadané ServiceEndpoint. |
ClientBase<TChannel>(String) |
Inicializuje novou instanci třídy ClientBase<TChannel> pomocí konfiguračních informací zadaných v konfiguračním souboru aplikace |
ClientBase<TChannel>(String, EndpointAddress) |
Inicializuje novou instanci třídy ClientBase<TChannel> pomocí zadané cílové adresy a informací o koncovém bodu. |
ClientBase<TChannel>(String, String) |
Inicializuje novou instanci ClientBase<TChannel> třídy. |
Vlastnosti
CacheSetting |
Získá nebo nastaví nastavení mezipaměti. |
Channel |
Získá vnitřní kanál používaný k odesílání zpráv do různých nakonfigurovaných koncových bodů služby. |
ChannelFactory |
Získá základní ChannelFactory<TChannel> objektu. |
ClientCredentials |
Získá přihlašovací údaje klienta používané k volání operace. |
Endpoint |
Získá cílový koncový bod pro službu, ke které se klient WCF může připojit. |
InnerChannel |
Získá základní IClientChannel implementaci. |
State |
Získá aktuální stav ClientBase<TChannel> objektu. |
Metody
Abort() |
Způsobí, že objekt ClientBase<TChannel> přejde okamžitě z aktuálního stavu do uzavřeného stavu. |
Close() |
Způsobí, že objekt ClientBase<TChannel> přejde z aktuálního stavu do uzavřeného stavu. |
CloseAsync() |
Poskytuje základní implementaci používanou k vytvoření klientských objektů WCF (Windows Communication Foundation), které mohou volat služby. |
CreateChannel() |
Vrátí do služby nový kanál. |
DisplayInitializationUI() |
Instruuje vnitřní kanál, aby zobrazil uživatelské rozhraní, pokud je nutné inicializovat kanál před jeho použitím. |
Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
GetDefaultValueForInitialization<T>() |
Replikuje chování výchozího klíčového slova v jazyce C#. |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object) |
Poskytuje podporu pro implementaci asynchronního vzoru založeného na událostech. Další informace o tomto vzoru naleznete v tématu Přehled asynchronního vzoru založeného na událostech. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
Open() |
Způsobí, že ClientBase<TChannel> objekt přejde z vytvořeného stavu do otevřeného stavu. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
IAsyncDisposable.DisposeAsync() |
Poskytuje základní implementaci používanou k vytvoření klientských objektů WCF (Windows Communication Foundation), které mohou volat služby. |
ICommunicationObject.BeginClose(AsyncCallback, Object) |
Zahájí asynchronní operaci, která zavře ClientBase<TChannel>. |
ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) |
Zahájí asynchronní operaci, která zavře ClientBase<TChannel> se zadaným časovým limitem. |
ICommunicationObject.BeginOpen(AsyncCallback, Object) |
Zahájí asynchronní operaci, která otevře objekt ClientBase<TChannel>. |
ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) |
Zahájí asynchronní operaci, která otevře objekt ClientBase<TChannel> v zadaném časovém intervalu. |
ICommunicationObject.Close() |
Způsobí přechod komunikačního objektu z jeho aktuálního stavu do uzavřeného stavu. |
ICommunicationObject.Close(TimeSpan) |
Způsobí, že objekt ClientBase<TChannel> přejde z aktuálního stavu do uzavřeného stavu. |
ICommunicationObject.Closed |
Obslužná rutina události, která se vyvolá, když ClientBase<TChannel> objekt přešel z jeho aktuálního stavu do uzavřeného stavu. |
ICommunicationObject.Closing |
Obslužná rutina události, která se vyvolá, když ClientBase<TChannel> objekt přejde z jeho aktuálního stavu do uzavřeného stavu. |
ICommunicationObject.EndClose(IAsyncResult) |
Dokončí asynchronní operaci a zavře ClientBase<TChannel> objekt. |
ICommunicationObject.EndOpen(IAsyncResult) |
Dokončí asynchronní operaci, aby se otevřel objekt ClientBase<TChannel>. |
ICommunicationObject.Faulted |
Obslužná rutina události, která se vyvolá, když dojde k chybě při provádění operace na ClientBase<TChannel> objektu. |
ICommunicationObject.Open() |
Způsobí, že komunikační objekt přejde z vytvořeného stavu do otevřeného stavu. |
ICommunicationObject.Open(TimeSpan) |
Způsobí, že objekt ClientBase<TChannel> přejde z vytvořeného stavu do otevřeného stavu v zadaném časovém intervalu. |
ICommunicationObject.Opened |
Obslužná rutina události, která se vyvolá při přechodu ClientBase<TChannel> objektu z vytvořeného stavu do otevřeného stavu. |
ICommunicationObject.Opening |
Obslužná rutina události, která se vyvolá při přechodu ClientBase<TChannel> objektu z vytvořeného stavu do otevřeného stavu. |
IDisposable.Dispose() |
Explicitní implementace metody Dispose() |
Metody rozšíření
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguruje, jak čekají na úlohy vrácené z asynchronního jednorázového použití. |