Udostępnij za pośrednictwem


ClientBase<TChannel> Klasa

Definicja

Zapewnia podstawową implementację używaną do tworzenia obiektów klienta programu Windows Communication Foundation (WCF), które mogą wywoływać usługi.

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

Kanał, który ma być używany do nawiązywania połączenia z usługą.

Dziedziczenie
ClientBase<TChannel>
Pochodne
Implementuje

Przykłady

Poniższy przykład kodu pokazuje, jak narzędzie ServiceModel Metadata Tool (Svcutil.exe) rozszerza klasę ClientBase<TChannel> w celu utworzenia klasy 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

Uwagi

Rozszerz klasę ClientBase<TChannel>, aby utworzyć niestandardowy obiekt klienta WCF, który może służyć do nawiązywania połączenia z usługą. Zazwyczaj klasa podstawowa klienta WCF jest rozszerzana przez narzędzie, takie jak narzędzie ServiceModel Metadata Tool (Svcutil.exe) w Twoim imieniu. Przykład można znaleźć w sekcji Przykład.

Klasa ClientBase<TChannel> może być używana szybko i łatwo przez deweloperów, którzy wolą obiekty do korzystania z interfejsów i klasy System.ServiceModel.ChannelFactory<TChannel>. We wszystkich przypadkach ta klasa opakowuje lub uwidacznia metody i funkcje klasy System.ServiceModel.ChannelFactory<TChannel> oraz interfejs System.ServiceModel.IClientChannel.

Tak jak w przypadku korzystania z klasy System.ServiceModel.ServiceHost, można utworzyć klasę i zmodyfikować punkt końcowy, fabrykę kanałów lub informacje o zabezpieczeniach przed wykonaniem wywołań lub wywołania Open. Aby uzyskać więcej informacji, zobacz Omówienie klienta WCF i uzyskiwanie dostępu do usług przy użyciu klienta WCF.

Szczególna uwaga dla użytkowników zarządzanego języka C++ pochodnych z tej klasy:

  • Umieść kod czyszczenia w (On)(Begin)Close (i/lub OnAbort), a nie w destruktora.

  • Unikaj destruktorów: powodują one automatyczne generowanie IDisposablekompilatora.

  • Unikaj elementów członkowskich innych niż odwołania: mogą spowodować, że kompilator automatycznie wygeneruje IDisposable.

  • Unikaj finalizatorów; ale jeśli go dołączysz, należy pominąć ostrzeżenie kompilacji i wywołać SuppressFinalize(Object) i sam finalizator z (On)(Begin)Close (i/lub OnAbort), aby emulować zachowanie wygenerowane automatycznie IDisposable.

Konstruktory

ClientBase<TChannel>()

Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu domyślnego docelowego punktu końcowego z pliku konfiguracji aplikacji.

ClientBase<TChannel>(Binding, EndpointAddress)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonego powiązania i adresu docelowego.

ClientBase<TChannel>(InstanceContext)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu callbackInstance jako obiektu wywołania zwrotnego w konwersacji dwustronnej.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonych obiektów InstanceContext i ServiceEndpoint.

ClientBase<TChannel>(InstanceContext, String)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonych informacji o konfiguracji wywołania zwrotnego i punktu końcowego.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, String, String)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel>.

ClientBase<TChannel>(ServiceEndpoint)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonego ServiceEndpoint.

ClientBase<TChannel>(String)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu informacji o konfiguracji określonych w pliku konfiguracji aplikacji przez endpointConfigurationName.

ClientBase<TChannel>(String, EndpointAddress)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel> przy użyciu określonych informacji o adresie docelowym i punkcie końcowym.

ClientBase<TChannel>(String, String)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel>.

Właściwości

CacheSetting

Pobiera lub ustawia ustawienie pamięci podręcznej.

Channel

Pobiera kanał wewnętrzny używany do wysyłania komunikatów do różnych skonfigurowanych punktów końcowych usługi.

ChannelFactory

Pobiera podstawowy obiekt ChannelFactory<TChannel>.

ClientCredentials

Pobiera poświadczenia klienta używane do wywoływania operacji.

Endpoint

Pobiera docelowy punkt końcowy usługi, z którą klient programu WCF może nawiązać połączenie.

InnerChannel

Pobiera podstawową implementację IClientChannel.

State

Pobiera bieżący stan obiektu ClientBase<TChannel>.

Metody

Abort()

Powoduje, że obiekt ClientBase<TChannel> przechodzi natychmiast ze stanu bieżącego do stanu zamkniętego.

Close()

Powoduje przejście obiektu ClientBase<TChannel> z bieżącego stanu do stanu zamkniętego.

CloseAsync()

Zapewnia podstawową implementację używaną do tworzenia obiektów klienta programu Windows Communication Foundation (WCF), które mogą wywoływać usługi.

CreateChannel()

Zwraca nowy kanał do usługi.

DisplayInitializationUI()

Instruuje wewnętrzny kanał, aby wyświetlić interfejs użytkownika, jeśli jest wymagany do zainicjowania kanału przed jego użyciem.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetDefaultValueForInitialization<T>()

Replikuje zachowanie domyślnego słowa kluczowego w języku C#.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object)

Zapewnia obsługę implementowania wzorca asynchronicznego opartego na zdarzeniach. Aby uzyskać więcej informacji na temat tego wzorca, zobacz Asynchroniczny wzorzec oparty na zdarzeniach — omówienie.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
Open()

Powoduje przejście obiektu ClientBase<TChannel> z utworzonego stanu do stanu otwartego.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IAsyncDisposable.DisposeAsync()

Zapewnia podstawową implementację używaną do tworzenia obiektów klienta programu Windows Communication Foundation (WCF), które mogą wywoływać usługi.

ICommunicationObject.BeginClose(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zamknąć ClientBase<TChannel> z określonym limitem czasu.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby otworzyć obiekt ClientBase<TChannel>.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby otworzyć obiekt ClientBase<TChannel> w określonym przedziale czasu.

ICommunicationObject.Close()

Powoduje przejście obiektu komunikacyjnego z bieżącego stanu do stanu zamkniętego.

ICommunicationObject.Close(TimeSpan)

Powoduje przejście obiektu ClientBase<TChannel> z bieżącego stanu do stanu zamkniętego.

ICommunicationObject.Closed

Procedura obsługi zdarzeń wywoływana po przejściu obiektu ClientBase<TChannel> z bieżącego stanu do stanu zamkniętego.

ICommunicationObject.Closing

Procedura obsługi zdarzeń wywoływana, gdy obiekt ClientBase<TChannel> przechodzi z bieżącego stanu do stanu zamkniętego.

ICommunicationObject.EndClose(IAsyncResult)

Wykonuje operację asynchroniczną, aby zamknąć obiekt ClientBase<TChannel>.

ICommunicationObject.EndOpen(IAsyncResult)

Wykonuje operację asynchroniczną, aby otworzyć obiekt ClientBase<TChannel>.

ICommunicationObject.Faulted

Procedura obsługi zdarzeń wywoływana w przypadku wystąpienia błędu podczas wykonywania operacji na obiekcie ClientBase<TChannel>.

ICommunicationObject.Open()

Powoduje przejście obiektu komunikacyjnego ze stanu utworzonego na otwarty stan.

ICommunicationObject.Open(TimeSpan)

Powoduje przejście obiektu ClientBase<TChannel> z utworzonego stanu do otwartego stanu w określonym przedziale czasu.

ICommunicationObject.Opened

Procedura obsługi zdarzeń wywoływana, gdy obiekt ClientBase<TChannel> przechodzi ze stanu utworzonego na otwarty.

ICommunicationObject.Opening

Procedura obsługi zdarzeń wywoływana, gdy obiekt ClientBase<TChannel> przechodzi ze stanu utworzonego na otwarty.

IDisposable.Dispose()

Jawna implementacja metody Dispose().

Metody rozszerzania

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje, w jaki sposób będą wykonywane oczekiwania na zadania zwrócone z asynchronicznego jednorazowego użytku.

Dotyczy