ClientBase<TChannel> Třída

Definice

Poskytuje základní implementaci používanou k vytvoření Windows Communication Foundation klientských objektů (WCF), 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
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface IDisposable
    interface ICommunicationObject
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 o 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> můžou rychle a snadno používat vývojáři, kteří dávají přednost objektům, aby používali rozhraní a System.ServiceModel.ChannelFactory<TChannel> třídu. Ve všech případech tato třída zabalí nebo zveřejň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 upravit koncový bod, objekt pro vytváření kanálů nebo bezpečnostní informace 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; pokud ale zahrnete jeden, měli byste potlačit upozornění sestavení a volání SuppressFinalize(Object) a finalizátor samotný z (On)(Begin)Close (a/nebo OnAbort) emulovat, co by bylo automaticky generované IDisposable chování.

Konstruktory

Name Description
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, Binding, EndpointAddress)

Inicializuje novou instanci ClientBase<TChannel> třídy.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Inicializuje novou instanci ClientBase<TChannel> třídy pomocí zadané InstanceContext a ServiceEndpoint objekty.

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>(InstanceContext, String)

Inicializuje novou instanci třídy pomocí zadané služby zpětného ClientBase<TChannel> volání a informací o konfiguraci koncového bodu.

ClientBase<TChannel>(InstanceContext)

Inicializuje novou instanci ClientBase<TChannel> třídy pomocí callbackInstance objektu zpětného volání v duplexní konverzaci.

ClientBase<TChannel>(ServiceEndpoint)

Inicializuje novou instanci ClientBase<TChannel> třídy pomocí zadané ServiceEndpoint.

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.

ClientBase<TChannel>(String)

Inicializuje novou instanci ClientBase<TChannel> třídy pomocí konfiguračních informací zadaných v konfiguračním souboru aplikace .endpointConfigurationName

Vlastnosti

Name Description
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> objekt.

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 objektu ClientBase<TChannel> .

Metody

Name Description
Abort()

Způsobí, že objekt ClientBase<TChannel> přejde okamžitě z jeho 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í Windows Communication Foundation klientských objektů (WCF), 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í

Name Description
IAsyncDisposable.DisposeAsync()

Poskytuje základní implementaci používanou k vytvoření Windows Communication Foundation klientských objektů (WCF), 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 tak, aby zavřela ClientBase<TChannel> zadaný časový limit.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

Zahájí asynchronní operaci pro otevření objektu ClientBase<TChannel> .

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Zahájí asynchronní operaci, která otevře ClientBase<TChannel> objekt 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 aktuálního stavu do uzavřeného stavu.

ICommunicationObject.Closing

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.EndClose(IAsyncResult)

Dokončí asynchronní operaci pro zavření objektu ClientBase<TChannel> .

ICommunicationObject.EndOpen(IAsyncResult)

Dokončí asynchronní operaci pro otevření objektu ClientBase<TChannel> .

ICommunicationObject.Faulted

Obslužná rutina události, která se vyvolá, když dojde k chybě při provádění operace objektu ClientBase<TChannel> .

ICommunicationObject.Open()

Způsobí, že komunikační objekt přejde z vytvořeného stavu do otevřeného stavu.

ICommunicationObject.Open(TimeSpan)

ClientBase<TChannel> Způsobí, že 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 z vytvořeného stavu do otevřeného stavu.

ICommunicationObject.Opening

Obslužná rutina události, která je vyvolána při ClientBase<TChannel> přechodu objektu z vytvořeného stavu do otevřeného stavu.

IDisposable.Dispose()

Explicitní implementace Dispose() metody.

Platí pro