ClientBase<TChannel> Klasse

Definition

Stellt die Basisimplementierung bereit, die zum Erstellen von Windows Communication Foundation (WCF)-Clientobjekten verwendet wird, die Dienste aufrufen können.

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

Typparameter

TChannel

Der Kanal, der zum Herstellen einer Verbindung mit dem Dienst verwendet werden soll.

Vererbung
ClientBase<TChannel>
Abgeleitet
Implementiert

Beispiele

Das folgende Codebeispiel zeigt, wie das ServiceModel Metadata Utility Tool (Svcutil.exe) die ClientBase<TChannel> Klasse erweitert, um eine WCF-Clientklasse zu erstellen.

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

Hinweise

Erweitern Sie die ClientBase<TChannel> Klasse, um ein benutzerdefiniertes WCF-Clientobjekt zu erstellen, das zum Herstellen einer Verbindung mit einem Dienst verwendet werden kann. In der Regel wird die WCF-Clientbasisklasse durch ein Tool wie das ServiceModel Metadata Utility Tool (Svcutil.exe) in Ihrem Auftrag erweitert. Ein Beispiel finden Sie im Abschnitt "Beispiel".

Die ClientBase<TChannel> Klasse kann schnell und einfach von Entwicklern verwendet werden, die Objekte für die Verwendung der Schnittstellen und der System.ServiceModel.ChannelFactory<TChannel> Klasse bevorzugen. In allen Fällen umbrochen oder verfügbar gemacht werden die Methoden und Funktionen der System.ServiceModel.ChannelFactory<TChannel> Klasse und der System.ServiceModel.IClientChannel Schnittstelle.

Wie bei verwendung der System.ServiceModel.ServiceHost-Klasse können Sie die Klasse erstellen und die Endpunkt-, Kanalfactory- oder Sicherheitsinformationen ändern, bevor Sie Anrufe oder Anrufe Opentätigen. Weitere Informationen finden Sie unter WCF Client Overview and Accessing Services Using a WCF Client.

Besondere Notiz für verwaltete C++-Benutzer, die von dieser Klasse abgeleitet werden:

  • Setzen Sie den Bereinigungscode in (On)(Begin)Close (und/oder OnAbort) und nicht in einem Destruktor.

  • Vermeiden Sie Destruktoren: Sie verursachen, dass der Compiler automatisch IDisposablegeneriert.

  • Vermeiden Sie Nichtverweismitglieder: Sie können dazu führen, dass der Compiler automatisch IDisposablegeneriert.

  • Vermeiden Sie Finalisierer; Wenn Sie jedoch eine einschließen, sollten Sie die Buildwarnung unterdrücken und SuppressFinalize(Object) aufrufen und den Finalizer selbst aus (On)(Begin)Close (und/oder OnAbort) emulieren, um zu emulieren, was das automatisch generierte IDisposable Verhalten wäre.

Konstruktoren

ClientBase<TChannel>()

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse mithilfe des Standardzielendpunkts aus der Anwendungskonfigurationsdatei.

ClientBase<TChannel>(Binding, EndpointAddress)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse mithilfe der angegebenen Bindungs- und Zieladresse.

ClientBase<TChannel>(InstanceContext)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse, wobei die callbackInstance als Rückrufobjekt in einer Duplexunterhaltung verwendet wird.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse.

ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse mithilfe der angegebenen InstanceContext und ServiceEndpoint Objekte.

ClientBase<TChannel>(InstanceContext, String)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse mithilfe der angegebenen Rückrufdienst- und Endpunktkonfigurationsinformationen.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse.

ClientBase<TChannel>(InstanceContext, String, String)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse.

ClientBase<TChannel>(ServiceEndpoint)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse mithilfe der angegebenen ServiceEndpoint.

ClientBase<TChannel>(String)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse mithilfe der Konfigurationsinformationen, die in der Anwendungskonfigurationsdatei durch endpointConfigurationNameangegeben sind.

ClientBase<TChannel>(String, EndpointAddress)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse mithilfe der angegebenen Zieladressen- und Endpunktinformationen.

ClientBase<TChannel>(String, String)

Initialisiert eine neue Instanz der ClientBase<TChannel> Klasse.

Eigenschaften

CacheSetting

Ruft die Cacheeinstellung ab oder legt sie fest.

Channel

Ruft den inneren Kanal ab, der zum Senden von Nachrichten an verschiedene konfigurierte Dienstendpunkte verwendet wird.

ChannelFactory

Ruft das zugrunde liegende ChannelFactory<TChannel> -Objekt ab.

ClientCredentials

Ruft die Clientanmeldeinformationen ab, die zum Aufrufen eines Vorgangs verwendet werden.

Endpoint

Ruft den Zielendpunkt für den Dienst ab, mit dem der WCF-Client eine Verbindung herstellen kann.

InnerChannel

Ruft die zugrunde liegende IClientChannel Implementierung ab.

State

Ruft den aktuellen Status des ClientBase<TChannel> -Objekts ab.

Methoden

Abort()

Bewirkt, dass das ClientBase<TChannel>-Objekt sofort vom aktuellen Zustand in den geschlossenen Zustand wechselt.

Close()

Bewirkt, dass das ClientBase<TChannel>-Objekt vom aktuellen Zustand in den geschlossenen Zustand wechselt.

CloseAsync()

Stellt die Basisimplementierung bereit, die zum Erstellen von Windows Communication Foundation (WCF)-Clientobjekten verwendet wird, die Dienste aufrufen können.

CreateChannel()

Gibt einen neuen Kanal an den Dienst zurück.

DisplayInitializationUI()

Weist den inneren Kanal an, eine Benutzeroberfläche anzuzeigen, wenn ein Kanal vor der Verwendung initialisiert werden muss.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetDefaultValueForInitialization<T>()

Repliziert das Verhalten des Standardschlüsselworts in C#.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object)

Bietet Unterstützung für die Implementierung des ereignisbasierten asynchronen Musters. Weitere Informationen zu diesem Muster finden Sie unter Ereignisbasierte asynchrones Musterübersicht.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
Open()

Bewirkt, dass das ClientBase<TChannel>-Objekt vom erstellten Zustand in den geöffneten Zustand wechselt.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IAsyncDisposable.DisposeAsync()

Stellt die Basisimplementierung bereit, die zum Erstellen von Windows Communication Foundation (WCF)-Clientobjekten verwendet wird, die Dienste aufrufen können.

ICommunicationObject.BeginClose(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um die ClientBase<TChannel>zu schließen.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um die ClientBase<TChannel> mit einem angegebenen Timeout zu schließen.

ICommunicationObject.BeginOpen(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um das ClientBase<TChannel> -Objekt zu öffnen.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

Beginnt einen asynchronen Vorgang, um das ClientBase<TChannel> -Objekt innerhalb eines angegebenen Zeitintervalls zu öffnen.

ICommunicationObject.Close()

Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den geschlossenen Zustand wechselt.

ICommunicationObject.Close(TimeSpan)

Bewirkt, dass das ClientBase<TChannel>-Objekt vom aktuellen Zustand in den geschlossenen Zustand wechselt.

ICommunicationObject.Closed

Der Ereignishandler, der aufgerufen wird, wenn das ClientBase<TChannel>-Objekt von seinem aktuellen Zustand in den geschlossenen Zustand umgestellt wurde.

ICommunicationObject.Closing

Der Ereignishandler, der aufgerufen wird, wenn das ClientBase<TChannel>-Objekt vom aktuellen Zustand in den geschlossenen Zustand wechselt.

ICommunicationObject.EndClose(IAsyncResult)

Schließt einen asynchronen Vorgang ab, um das ClientBase<TChannel> -Objekt zu schließen.

ICommunicationObject.EndOpen(IAsyncResult)

Schließt einen asynchronen Vorgang ab, um das ClientBase<TChannel> -Objekt zu öffnen.

ICommunicationObject.Faulted

Der Ereignishandler, der aufgerufen wird, wenn beim Ausführen eines Vorgangs für das ClientBase<TChannel>-Objekt ein Fehler auftritt.

ICommunicationObject.Open()

Bewirkt, dass ein Kommunikationsobjekt vom erstellten Zustand in den geöffneten Zustand wechselt.

ICommunicationObject.Open(TimeSpan)

Bewirkt, dass das ClientBase<TChannel>-Objekt innerhalb eines bestimmten Zeitraums vom erstellten Zustand in den geöffneten Zustand übergehen soll.

ICommunicationObject.Opened

Der Ereignishandler, der aufgerufen wird, wenn der ClientBase<TChannel> Objekt vom erstellten Zustand in den geöffneten Zustand wechselt.

ICommunicationObject.Opening

Der Ereignishandler, der aufgerufen wird, wenn der ClientBase<TChannel> Objekt vom erstellten Zustand in den geöffneten Zustand wechselt.

IDisposable.Dispose()

Explizite Implementierung der Dispose()-Methode.

Erweiterungsmethoden

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguriert, wie auf die von einem asynchronen Einweg zurückgegebenen Aufgaben gewartet wird.

Gilt für: