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 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 |
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 |
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. |