(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ClientBase<TChannel>-Klasse

Stellt die Basisimplementierung bereit, die verwendet wird, um Windows Communication Foundation (WCF)-Clientobjekte zu erstellen, die Dienste anrufen können.

Namespace:  System.ServiceModel
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public abstract class ClientBase<TChannel> : ICommunicationObject, 
	IDisposable
where TChannel : class

Typparameter

TChannel

Der Kanal, der für die Verbindung mit dem Dienst verwendet werden soll.

Der ClientBase<TChannel>-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClientBase<TChannel>()Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse, indem der standardmäßige Zielendpunkt der Anwendungskonfigurationsdatei verwendet wird.
Geschützte MethodeClientBase<TChannel>(InstanceContext)Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse, indem callbackInstance als Rückrufobjekt in einer Duplexkonversation verwendet wird.
Geschützte MethodeClientBase<TChannel>(ServiceEndpoint)Initialisiert mit dem angegebenen System.ServiceModel.Description.ServiceEndpoint-Element eine neue Instanz der ClientBase<TChannel>-Klasse.
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClientBase<TChannel>(String)Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse, indem die in der Anwendungskonfigurationsdatei angegebenen Konfigurationsinformationen von endpointConfigurationName verwendet werden.
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClientBase<TChannel>(Binding, EndpointAddress)Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse unter Verwendung der angegebenen Bindung und Endpunktadresse.
Geschützte MethodeClientBase<TChannel>(InstanceContext, ServiceEndpoint)Initialisiert mit den angegebenen InstanceContext- und System.ServiceModel.Description.ServiceEndpoint-Objekten eine neue Instanz der ClientBase<TChannel>-Klasse.
Geschützte MethodeClientBase<TChannel>(InstanceContext, String)Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse unter Verwendung des angegebenen Rückrufdiensts und der Endpunktkonfigurationsinformationen.
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClientBase<TChannel>(String, EndpointAddress)Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse unter Verwendung der angegebenen Zieladresse und den Endpunktinformationen.
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClientBase<TChannel>(String, String)Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse.
Geschützte MethodeClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse.
Geschützte MethodeClientBase<TChannel>(InstanceContext, String, EndpointAddress)Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse.
Geschützte MethodeClientBase<TChannel>(InstanceContext, String, String)Initialisiert eine neue Instanz der ClientBase<TChannel>-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftStatischer MemberCacheSettingRuft die Cacheeinstellungen ab oder legt sie fest.
Geschützte EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsChannelRuft den inneren Kanal ab, der verwendet wird, um Meldungen an unterschiedlich konfigurierte Endpunkte zu senden.
Öffentliche EigenschaftUnterstützt in .NET für Windows Store-AppsChannelFactoryRuft das zugrunde liegende ChannelFactory<TChannel>-Objekt ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsClientCredentialsRuft die Clientanmeldeinformationen ab, die verwendet werden, um einen Vorgang aufzurufen.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEndpointRuft den Zielendpunkt für den Dienst ab, mit dem der WCF-Client eine Verbindung herstellen kann.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsInnerChannelRuft die zugrunde liegende IClientChannel-Implementierung ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsStateRuft den aktuellen Zustand des ClientBase<TChannel>-Objekts ab.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAbortBewirkt, dass das ClientBase<TChannel>-Objekt von seinem aktuellen Zustand in den geschlossenen Zustand übergeht.
Öffentliche MethodeCloseBewirkt, dass ein ClientBase<TChannel>-Objekt von seinem aktuellen Zustand in den geschlossenen Zustand wechselt.
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCreateChannelGibt einen neuen Kanal an den Dienst zurück.
Öffentliche MethodeDisplayInitializationUIWeist den inneren Kanal an, eine Benutzeroberfläche anzuzeigen, wenn eine solche zum Initialisieren des Kanals vor der Verwendung erforderlich ist.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetDefaultValueForInitialization<T>Repliziert das Verhalten des Standardschlüsselworts in C#.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsInvokeAsyncBietet Unterstützung für das Implementieren des ereignisbasierten asynchronen Musters. Weitere Informationen finden Sie unter zu diesem Muster finden Sie unter Übersicht über ereignisbasierte asynchrone Muster.
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeOpenBewirkt, dass das ClientBase<TChannel>-Objekt vom Erstellt-Zustand in den Geöffnet-Zustand übergeht.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.BeginClose(AsyncCallback, Object)Beginnt einen asynchronen Vorgang, um ClientBase<TChannel> zu schließen.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)Startet einen asynchronen Vorgang, um ClientBase<TChannel> mit einem angegebenen Timeout zu schließen.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.BeginOpen(AsyncCallback, Object)Startet einen asynchronen Vorgang, um das ClientBase<TChannel>-Objekt zu öffnen.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)Startet einen asynchronen Vorgang, um das ClientBase<TChannel>-Objekt innerhalb eines angegebenen Zeitintervalls zu öffnen.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.Close()
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.Close(TimeSpan)Bewirkt, dass ein ClientBase<TChannel>-Objekt von seinem aktuellen Zustand in den geschlossenen Zustand wechselt.
Explizite SchnittstellenimplementierungPrivates EreignisUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.ClosedDer Ereignishandler, der aufgerufen wird, wenn das ClientBase<TChannel>-Objekt von seinem aktuellen Zustand in den geschlossenen Zustand übergegangen ist.
Explizite SchnittstellenimplementierungPrivates EreignisUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.ClosingDer Ereignishandler, der aufgerufen wird, wenn das ClientBase<TChannel>-Objekt von seinem aktuellen Zustand in den geschlossenen Zustand übergeht.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.EndCloseBeendet einen asynchronen Vorgang, um das ClientBase<TChannel>-Objekt zu schließen.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.EndOpenBeendet einen asynchronen Vorgang, um das ClientBase<TChannel>-Objekt zu öffnen.
Explizite SchnittstellenimplementierungPrivates EreignisUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.FaultedDer Ereignishandler, der aufgerufen wird, wenn beim Ausführen eines Vorgangs auf dem ClientBase<TChannel>-Objekt ein Fehler auftritt.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.Open()
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.Open(TimeSpan)Bewirkt, dass das ClientBase<TChannel>-Objekt innerhalb eines angegebenen Zeitraums vom Erstellt-Zustand in den Geöffnet-Zustand übergeht.
Explizite SchnittstellenimplementierungPrivates EreignisUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.OpenedDer Ereignishandler, der aufgerufen wird, wenn das ClientBase<TChannel>-Objekt vom Erstellt-Zustand in den Geöffnet-Zustand übergeht.
Explizite SchnittstellenimplementierungPrivates EreignisUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsICommunicationObject.OpeningDer Ereignishandler, der aufgerufen wird, wenn das ClientBase<TChannel>-Objekt vom Erstellt-Zustand in den Geöffnet-Zustand übergeht.
Explizite SchnittstellenimplementierungPrivate MethodeIDisposable.DisposeEine explizite Implementierung der Dispose-Methode.
Zum Seitenanfang

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

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.

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);
    }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft