ClientBase<TChannel> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Basisimplementierung bereit, die verwendet wird, um Windows Communication Foundation-Clientobjekte zu erstellen, die Dienste anrufen können.
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
Typparameter
- TChannel
Der Kanal, der für die 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 Namen erweitert. Ein Beispiel finden Sie im Abschnitt „Beispiel“.
Die ClientBase<TChannel>-Klasse kann schnell und problemlos von Entwicklern verwendet werden, die die Verwendung von Objekten der Verwendung der Schnittstellen und der System.ServiceModel.ChannelFactory<TChannel>-Klasse vorziehen. In allen Fällen schließt diese Klasse die Methoden und die Funktionalität der System.ServiceModel.ChannelFactory<TChannel>-Klasse und der System.ServiceModel.IClientChannel-Schnittstelle ein und macht sie verfügbar.
Wie bei der Verwendung der System.ServiceModel.ServiceHost-Klasse können Sie die Klasse erstellen und den Endpunkt, die Kanalfactory oder die Sicherheitsinformationen modifizieren, bevor Sie beliebige Elemente oder Open aufrufen. Weitere Informationen finden Sie unter Übersicht über den WCF-Client und Zugreifen auf Dienste mithilfe eines WCF-Clients.
Spezieller Hinweis für Benutzer von Managed C++, die von dieser Klasse ableiten:
Fügen Sie den Bereinigungscode in (On)(Begin)Close (and/or OnAbort) ein, nicht in einen Destruktor.
Vermeiden Sie Destruktoren: Sie bewirken, dass der Compiler IDisposable automatisch generiert.
Vermeiden Sie Member ohne Verweis: Sie können bewirken, dass der Compiler IDisposable automatisch generiert.
Vermeiden Sie Finalizer. Wenn Sie dennoch einen Finalizer verwenden, sollten Sie die Buildwarnung unterdrücken und SuppressFinalize(Object) sowie den Finalizer über (On)(Begin)Close (and/or OnAbort) aufrufen, um das ansonsten automatisch generierte IDisposable-Verhalten zu emulieren.
Konstruktoren
ClientBase<TChannel>() |
Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse, indem der standardmäßige Zielendpunkt der Anwendungskonfigurationsdatei verwendet wird. |
ClientBase<TChannel>(Binding, EndpointAddress) |
Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse unter Verwendung der angegebenen Bindung und Endpunktadresse. |
ClientBase<TChannel>(InstanceContext) |
Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse, indem |
ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) |
Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse. |
ClientBase<TChannel>(InstanceContext, ServiceEndpoint) |
Initialisiert mit den angegebenen InstanceContext- und ServiceEndpoint-Objekten eine neue Instanz der ClientBase<TChannel>-Klasse. |
ClientBase<TChannel>(InstanceContext, String) |
Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse unter Verwendung des angegebenen Rückrufdiensts und der 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 mit dem angegebenen ServiceEndpoint. |
ClientBase<TChannel>(String) |
Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse, indem die in der Anwendungskonfigurationsdatei angegebenen Konfigurationsinformationen von |
ClientBase<TChannel>(String, EndpointAddress) |
Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse unter Verwendung der angegebenen Zieladresse und den Endpunktinformationen. |
ClientBase<TChannel>(String, String) |
Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse. |
Eigenschaften
CacheSetting |
Ruft die Cacheeinstellungen ab oder legt sie fest. |
Channel |
Ruft den inneren Kanal ab, der verwendet wird, um Meldungen an unterschiedlich konfigurierte Endpunkte zu senden. |
ChannelFactory |
Ruft das zugrunde liegende ChannelFactory<TChannel>-Objekt ab. |
ClientCredentials |
Ruft die Clientanmeldeinformationen ab, die verwendet werden, um einen Vorgang aufzurufen. |
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 Zustand des ClientBase<TChannel>-Objekts ab. |
Methoden
Abort() |
Bewirkt, dass das ClientBase<TChannel>-Objekt von seinem aktuellen Zustand in den geschlossenen Zustand übergeht. |
Close() |
Bewirkt, dass ein ClientBase<TChannel>-Objekt von seinem aktuellen Zustand in den geschlossenen Zustand wechselt. |
CloseAsync() |
Stellt die Basisimplementierung bereit, die verwendet wird, um Windows Communication Foundation-Clientobjekte zu erstellen, die Dienste anrufen können. |
CreateChannel() |
Gibt einen neuen Kanal an den Dienst zurück. |
DisplayInitializationUI() |
Weist den inneren Kanal an, eine Benutzeroberfläche anzuzeigen, wenn eine solche zum Initialisieren des Kanals vor der Verwendung erforderlich ist. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetDefaultValueForInitialization<T>() |
Repliziert das Verhalten des Standardschlüsselworts in C#. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
InvokeAsync(ClientBase<TChannel>.BeginOperationDelegate, Object[], ClientBase<TChannel>.EndOperationDelegate, SendOrPostCallback, Object) |
Bietet Unterstützung für das Implementieren des ereignisbasierten asynchronen Musters. Weitere Informationen zu diesem Muster finden Sie unter Übersicht über ereignisbasierte asynchrone Muster. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
Open() |
Bewirkt, dass das ClientBase<TChannel>-Objekt vom Erstellt-Zustand in den Geöffnet-Zustand übergeht. |
OpenAsync() |
Stellt die Basisimplementierung bereit, die verwendet wird, um Windows Communication Foundation-Clientobjekte zu erstellen, die Dienste anrufen können. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IAsyncDisposable.DisposeAsync() |
Stellt die Basisimplementierung bereit, die verwendet wird, um Windows Communication Foundation-Clientobjekte zu erstellen, die Dienste anrufen können. |
ICommunicationObject.BeginClose(AsyncCallback, Object) |
Beginnt einen asynchronen Vorgang, um ClientBase<TChannel> zu schließen. |
ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) |
Startet einen asynchronen Vorgang, um 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) |
Startet 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 übergeht. |
ICommunicationObject.Close(TimeSpan) |
Bewirkt, dass ein ClientBase<TChannel>-Objekt von seinem 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 übergegangen ist. |
ICommunicationObject.Closing |
Der Ereignishandler, der aufgerufen wird, wenn das ClientBase<TChannel>-Objekt von seinem aktuellen Zustand in den geschlossenen Zustand übergeht. |
ICommunicationObject.EndClose(IAsyncResult) |
Beendet einen asynchronen Vorgang, um das ClientBase<TChannel>-Objekt zu schließen. |
ICommunicationObject.EndOpen(IAsyncResult) |
Beendet einen asynchronen Vorgang, um das ClientBase<TChannel>-Objekt zu öffnen. |
ICommunicationObject.Faulted |
Der Ereignishandler, der aufgerufen wird, wenn beim Ausführen eines Vorgangs auf dem ClientBase<TChannel>-Objekt ein Fehler auftritt. |
ICommunicationObject.Open() |
Bewirkt den Übergang eines Kommunikationsobjekts aus dem Erstellt-Zustand in den Geöffnet-Zustand. |
ICommunicationObject.Open(TimeSpan) |
Bewirkt, dass das ClientBase<TChannel>-Objekt innerhalb eines angegebenen Zeitraums vom Erstellt-Zustand in den Geöffnet-Zustand übergeht. |
ICommunicationObject.Opened |
Der Ereignishandler, der aufgerufen wird, wenn das ClientBase<TChannel>-Objekt vom Erstellt-Zustand in den Geöffnet-Zustand übergeht. |
ICommunicationObject.Opening |
Der Ereignishandler, der aufgerufen wird, wenn das ClientBase<TChannel>-Objekt vom Erstellt-Zustand in den Geöffnet-Zustand übergeht. |
IDisposable.Dispose() |
Eine explizite Implementierung der Dispose()-Methode. |
Erweiterungsmethoden
CloseHelperAsync(ICommunicationObject, TimeSpan) |
Stellt die Basisimplementierung bereit, die verwendet wird, um Windows Communication Foundation-Clientobjekte zu erstellen, die Dienste anrufen können. |
OpenHelperAsync(ICommunicationObject, TimeSpan) |
Stellt die Basisimplementierung bereit, die verwendet wird, um Windows Communication Foundation-Clientobjekte zu erstellen, die Dienste anrufen können. |
ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguriert, wie Wartezeiten auf die Aufgaben angewandt werden, die von einem asynchronen verwerfbaren Element zurückgegeben werden. |
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für