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 : IDisposable, System::ServiceModel::ICommunicationObject
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
public abstract class ClientBase<TChannel> : IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : System.ServiceModel.ICommunicationObject where TChannel : class
public abstract class ClientBase<TChannel> : IAsyncDisposable, IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface IDisposable
    interface ICommunicationObject
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, IDisposable
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements IAsyncDisposable, ICommunicationObject, IDisposable

Parametry typu

TChannel

Kanał 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ę w ClientBase<TChannel> 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 System.ServiceModel.ChannelFactory<TChannel> klasy. We wszystkich przypadkach ta klasa opakowuje lub uwidacznia metody i funkcje System.ServiceModel.ChannelFactory<TChannel> klasy i interfejsu System.ServiceModel.IClientChannel .

Tak jak w System.ServiceModel.ServiceHost przypadku korzystania z klasy, możesz 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 WCF Client Overview and Accessing Services Using a WCF Client (Omówienie klienta programu WCF i uzyskiwanie dostępu do usług przy użyciu klienta WCF).

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

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

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

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

  • Unikaj finalizatorów; ale jeśli je uwzględnisz, należy pominąć ostrzeżenie i wywołanie SuppressFinalize(Object) kompilacji oraz sam finalizator z (On)(Begin)Close (i/lub OnAbort), aby naśladować zachowanie generowane IDisposable automatycznie.

Konstruktory

ClientBase<TChannel>()

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

ClientBase<TChannel>(Binding, EndpointAddress)

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

ClientBase<TChannel>(InstanceContext)

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

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Inicjuje nowe wystąpienie klasy ClientBase<TChannel>.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

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

ClientBase<TChannel>(InstanceContext, String)

Inicjuje ClientBase<TChannel> nowe wystąpienie klasy 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 ClientBase<TChannel> nowe wystąpienie klasy przy użyciu określonego ServiceEndpointelementu .

ClientBase<TChannel>(String)

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

ClientBase<TChannel>(String, EndpointAddress)

Inicjuje ClientBase<TChannel> nowe wystąpienie klasy przy użyciu określonego adresu docelowego i informacji o 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 obiekt źródłowy ChannelFactory<TChannel> .

ClientCredentials

Pobiera poświadczenia klienta użyte do wywołania operacji.

Endpoint

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

InnerChannel

Pobiera podstawową IClientChannel implementację.

State

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

Metody

Abort()

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

Close()

ClientBase<TChannel> Powoduje przejście obiektu 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 kanał wewnętrzny, aby wyświetlał interfejs użytkownika, jeśli jest wymagany do zainicjowania kanału przed jego użyciem.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(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()

Type Pobiera wartość 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 Omówienie wzorca asynchronicznego opartego na zdarzeniach.

MemberwiseClone()

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

(Odziedziczone po Object)
Open()

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

OpenAsync()

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

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ąć obiekt ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

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

ICommunicationObject.BeginOpen(AsyncCallback, Object)

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

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

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

ICommunicationObject.Close()

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

ICommunicationObject.Close(TimeSpan)

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

ICommunicationObject.Closed

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

ICommunicationObject.Closing

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

ICommunicationObject.EndClose(IAsyncResult)

Kończy operację asynchroniczną, aby zamknąć ClientBase<TChannel> obiekt.

ICommunicationObject.EndOpen(IAsyncResult)

Kończy operację asynchroniczną, aby otworzyć ClientBase<TChannel> obiekt.

ICommunicationObject.Faulted

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

ICommunicationObject.Open()

Powoduje przejście obiektu komunikacji z utworzonego stanu do stanu otwartego.

ICommunicationObject.Open(TimeSpan)

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

ICommunicationObject.Opened

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

ICommunicationObject.Opening

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

IDisposable.Dispose()

Jawna implementacja Dispose() metody .

Metody rozszerzania

CloseHelperAsync(ICommunicationObject, TimeSpan)

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

OpenHelperAsync(ICommunicationObject, TimeSpan)

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

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje sposób oczekiwania na zadania zwracane z jednorazowego użytku asynchronicznego.

Dotyczy