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žito k vytvoření Windows Communication Foundation (WCF) klientské objekty, 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 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
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 ServiceModel Metadata Utility Tool (Svcutil.exe) rozšiřuje ClientBase<TChannel> třídu pro vytvoření třídy klienta 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
ClientBase<TChannel> Rozšiřte třídu 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 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žít vývojáři, kteří dávají přednost objektům před použitím rozhraní a System.ServiceModel.ChannelFactory<TChannel> třídy . Ve všech případech tato třída zabalí nebo zpřístupňuje metody a funkce System.ServiceModel.ChannelFactory<TChannel> třídy a System.ServiceModel.IClientChannel rozhraní.
Stejně jako při použití System.ServiceModel.ServiceHost třídy můžete vytvořit třídu a před voláním Openupravit koncový bod, objekt pro vytváření kanálu nebo informace o zabezpečení. Další informace najdete v tématu Přehled klienta WCF a Přístup ke službám pomocí klienta WCF.
Zvláštní poznámka pro uživatele spravovaného jazyka C++, kteří jsou odvozeni z této třídy:
Vložte kód pro vyčištění do (On)(Begin)Close (nebo OnAbort), ne do destruktoru.
Vyhněte se destruktorům: způsobí, že kompilátor automaticky vygeneruje IDisposable.
Vyhněte se neodkazovaným členům: mohou způsobit automatické vygenerování IDisposablekompilátoru .
Vyhněte se finalizačním metodám; Ale pokud zahrnete jeden, měli byste potlačit upozornění sestavení a volat SuppressFinalize(Object) a finalizační metodu z (On)(Begin)Close (nebo OnAbort) k emulaci, jaké by bylo automaticky generované IDisposable chování.
Konstruktory
ClientBase<TChannel>() |
Inicializuje novou instanci ClientBase<TChannel> třídy pomocí výchozího cílového koncového bodu z konfiguračního souboru aplikace. |
ClientBase<TChannel>(Binding, EndpointAddress) |
Inicializuje novou instanci ClientBase<TChannel> třídy pomocí zadané vazby a cílové adresy. |
ClientBase<TChannel>(InstanceContext) |
Inicializuje novou instanci ClientBase<TChannel> třídy pomocí |
ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) |
Inicializuje novou instanci ClientBase<TChannel> třídy . |
ClientBase<TChannel>(InstanceContext, ServiceEndpoint) |
Inicializuje novou instanci ClientBase<TChannel> třídy pomocí zadaných InstanceContext objektů a ServiceEndpoint . |
ClientBase<TChannel>(InstanceContext, String) |
Inicializuje novou instanci ClientBase<TChannel> třídy 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 ClientBase<TChannel> třídy pomocí zadané ServiceEndpoint. |
ClientBase<TChannel>(String) |
Inicializuje novou instanci třídy pomocí konfiguračních ClientBase<TChannel> informací zadaných v konfiguračním souboru aplikace pomocí |
ClientBase<TChannel>(String, EndpointAddress) |
Inicializuje novou instanci ClientBase<TChannel> třídy 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á podkladový ChannelFactory<TChannel> objekt. |
ClientCredentials |
Získá přihlašovací údaje klienta použité 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 objektu ClientBase<TChannel> . |
Metody
Abort() |
Způsobí, že ClientBase<TChannel> objekt okamžitě přejde z aktuálního stavu do uzavřeného stavu. |
Close() |
Způsobí, že ClientBase<TChannel> objekt přejde z aktuálního stavu do uzavřeného stavu. |
CloseAsync() |
Poskytuje základní implementaci použito k vytvoření Windows Communication Foundation (WCF) klientské objekty, které mohou volat služby. |
CreateChannel() |
Vrátí nový kanál do služby. |
DisplayInitializationUI() |
Instruuje vnitřní kanál, aby zobrazil uživatelské rozhraní, pokud je před použitím kanálu nutné inicializovat. |
Equals(Object) |
Určí, zda se zadaný objekt rovná 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í hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z 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 najdete v tématu Přehled asynchronního vzoru založeného na událostech. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
Open() |
Způsobí, že ClientBase<TChannel> objekt přejde ze stavu vytvoření do otevřeného stavu. |
OpenAsync() |
Poskytuje základní implementaci použito k vytvoření Windows Communication Foundation (WCF) klientské objekty, které mohou volat služby. |
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žito k vytvoření Windows Communication Foundation (WCF) klientské objekty, 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 objekt se ClientBase<TChannel> zadaným časovým limitem. |
ICommunicationObject.BeginOpen(AsyncCallback, Object) |
Zahájí asynchronní operaci k otevření objektu ClientBase<TChannel> . |
ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) |
Zahájí asynchronní operaci, která ClientBase<TChannel> otevře objekt v zadaném časovém intervalu. |
ICommunicationObject.Close() |
Způsobí přechod komunikačního objektu z aktuálního stavu do uzavřeného stavu. |
ICommunicationObject.Close(TimeSpan) |
Způsobí, že ClientBase<TChannel> objekt přejde z aktuálního stavu do uzavřeného stavu. |
ICommunicationObject.Closed |
Obslužná rutina události, která je vyvolána při přechodu objektu ClientBase<TChannel> z aktuálního stavu do uzavřeného stavu. |
ICommunicationObject.Closing |
Obslužná rutina události, která je vyvolána, když ClientBase<TChannel> objekt přejde z aktuálního stavu do uzavřeného stavu. |
ICommunicationObject.EndClose(IAsyncResult) |
Dokončí asynchronní operaci k zavření objektu ClientBase<TChannel> . |
ICommunicationObject.EndOpen(IAsyncResult) |
Dokončí asynchronní operaci k otevření objektu ClientBase<TChannel> . |
ICommunicationObject.Faulted |
Obslužná rutina události, která je vyvolána, když dojde k chybě při provádění operace s objektem ClientBase<TChannel> . |
ICommunicationObject.Open() |
Způsobí přechod komunikačního objektu ze stavu vytvoření do otevřeného stavu. |
ICommunicationObject.Open(TimeSpan) |
Způsobí, že ClientBase<TChannel> objekt 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á je vyvolána při ClientBase<TChannel> přechodu objektu ze stavu vytvoření do otevřeného stavu. |
ICommunicationObject.Opening |
Obslužná rutina události, která je vyvolána při ClientBase<TChannel> přechodu objektu ze stavu vytvoření do otevřeného stavu. |
IDisposable.Dispose() |
Explicitní implementace Dispose() metody. |
Metody rozšíření
CloseHelperAsync(ICommunicationObject, TimeSpan) |
Poskytuje základní implementaci použito k vytvoření Windows Communication Foundation (WCF) klientské objekty, které mohou volat služby. |
OpenHelperAsync(ICommunicationObject, TimeSpan) |
Poskytuje základní implementaci použito k vytvoření Windows Communication Foundation (WCF) klientské objekty, které mohou volat služby. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguruje, jak se provádí funkce awaits u úloh vrácených z asynchronního jednorázového režimu. |
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro