ChannelBase 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 für benutzerdefinierte Kanäle bereit.
public ref class ChannelBase abstract : System::ServiceModel::Channels::CommunicationObject, System::ServiceModel::Channels::IChannel, System::ServiceModel::IDefaultCommunicationTimeouts
public abstract class ChannelBase : System.ServiceModel.Channels.CommunicationObject, System.ServiceModel.Channels.IChannel, System.ServiceModel.IDefaultCommunicationTimeouts
type ChannelBase = class
inherit CommunicationObject
interface IChannel
interface ICommunicationObject
interface IDefaultCommunicationTimeouts
Public MustInherit Class ChannelBase
Inherits CommunicationObject
Implements IChannel, IDefaultCommunicationTimeouts
- Vererbung
- Implementiert
Hinweise
Important
Das Aufrufen von Methoden aus dieser Klasse mit nicht vertrauenswürdigen Daten ist ein Sicherheitsrisiko. Rufen Sie die Methoden aus dieser Klasse nur mit vertrauenswürdigen Daten auf. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.
Die ChannelBase Klasse stellt eine abstrakte Basisklassenimplementierung der IChannel Schnittstelle bereit. Außerdem muss jeder Kanal einem Kanal-Manager zugeordnet werden. Beachten Sie, dass der einzige Konstruktor, der zum Erstellen von Instanzen verfügbar ChannelBase ist, einen channelManager Eingabeparameter erfordert.
Zustandsänderungen werden verwaltet, indem sie von der CommunicationObject Implementierung des Zustandscomputers erben.
Die ChannelBase standardmäßigen Kommunikationstimeouts für das geöffnete, schließen, senden und empfangene Vorgänge werden vom ChannelManagerBase zugeordneten Element abgerufen.
Der ChannelBase Manager verwaltet auch für Sie. Zusätzlich zum Verfügbarmachen eines Verweises auf den Vorgesetzten benachrichtigt die Basisklasse auch den Manager, wenn Kanäle erstellt und zerstört werden. Aber der Verweis auf den Manager ist nur gut, bis der Kanal zerstört wird.
Auch wenn Sie die Basisklasse verwenden, müssen Sie weiterhin Verhalten zum Öffnen und Schließen des Kanals bereitstellen. Die Standardimplementierungen dieser Methoden stellen keine nützlichen Informationen bereit.
Sie müssen auch sicherstellen, dass Sie jedes Mal außer Kraft GetProperty setzen, wenn Sie einen Kanal implementieren.
GetProperty ist eine hervorragende Möglichkeit, Informationen entlang des Kanalstapels zu kommunizieren, ohne wissen zu müssen, welche Kanäle unter Ihnen liegen oder welche Kanäle oben Sie abfragen können. Definieren Sie Schnittstellen, die nach verfügbaren Informationen abgefragt werden können. Wenn Sie das Typargument nicht GetPropertyerkennen, delegieren Sie nach unten zum nächsten Kanal im Stapel oder kehren Sie zurück null , wenn Sie einen neuen Transportkanal am unteren Rand des Stapels erstellen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ChannelBase(ChannelManagerBase) |
Initialisiert eine neue Instanz der ChannelBase-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| DefaultCloseTimeout |
Ruft das Standardintervall der Zeit ab, die für einen Abschlussvorgang bereitgestellt wird. |
| DefaultOpenTimeout |
Ruft das Standardintervall der Zeit ab, die für einen geöffneten Vorgang bereitgestellt wird, der abgeschlossen werden soll. |
| DefaultReceiveTimeout |
Ruft das Standardintervall der Zeit ab, die für einen Empfangsvorgang bereitgestellt wird, der abgeschlossen werden soll. |
| DefaultSendTimeout |
Ruft das Standardintervall der Zeit ab, die für einen Sendevorgang bereitgestellt wird, um den Vorgang abzuschließen. |
| IsDisposed |
Ruft einen Wert ab, der angibt, ob das Kommunikationsobjekt verworfen wurde. (Geerbt von CommunicationObject) |
| Manager |
Ruft den Kanal-Manager ab, der dem aktuellen Kanal zugeordnet ist. |
| State |
Ruft einen Wert ab, der den aktuellen Status des Kommunikationsobjekts angibt. (Geerbt von CommunicationObject) |
| ThisLock |
Ruft die sich gegenseitig ausschließende Sperre ab, die die Klasseninstanz während eines Zustandsübergangs schützt. (Geerbt von CommunicationObject) |
Methoden
| Name | Beschreibung |
|---|---|
| Abort() |
Bewirkt, dass ein Kommunikationsobjekt sofort vom aktuellen Zustand in den Schließen-Zustand wechselt. (Geerbt von CommunicationObject) |
| BeginClose(AsyncCallback, Object) |
Startet einen asynchronen Vorgang zum Schließen eines Kommunikationsobjekts. (Geerbt von CommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
Startet einen asynchronen Vorgang zum Schließen eines Kommunikationsobjekts mit einem angegebenen Timeout. (Geerbt von CommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
Startet einen asynchronen Vorgang zum Öffnen eines Kommunikationsobjekts. (Geerbt von CommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
Startet einen asynchronen Vorgang, um ein Kommunikationsobjekt innerhalb eines bestimmten Zeitintervalls zu öffnen. (Geerbt von CommunicationObject) |
| Close() |
Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den geschlossenen Zustand wechselt. (Geerbt von CommunicationObject) |
| Close(TimeSpan) |
Bewirkt, dass ein Kommunikationsobjekt innerhalb eines bestimmten Zeitintervalls vom aktuellen Zustand in den geschlossenen Zustand wechselt. (Geerbt von CommunicationObject) |
| EndClose(IAsyncResult) |
Schließt einen asynchronen Vorgang zum Schließen eines Kommunikationsobjekts ab. (Geerbt von CommunicationObject) |
| EndOpen(IAsyncResult) |
Schließt einen asynchronen Vorgang zum Öffnen eines Kommunikationsobjekts ab. (Geerbt von CommunicationObject) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| Fault() |
Bewirkt, dass ein Kommunikationsobjekt vom aktuellen Zustand in den fehlerhaften Zustand wechselt. (Geerbt von CommunicationObject) |
| GetCommunicationObjectType() |
Ruft den Typ des Kommunikationsobjekts ab. (Geerbt von CommunicationObject) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetProperty<T>() |
Gibt das eingegebene Objekt zurück, falls vorhanden, aus der entsprechenden Ebene im Kanalstapel. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| OnAbort() |
Fügt die Verarbeitung in ein Kommunikationsobjekt ein, nachdem es aufgrund des Aufrufs eines synchronen Abbruchvorgangs in den Abschlusszustand wechselt. (Geerbt von CommunicationObject) |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
Fügt die Verarbeitung nach einem Kommunikationsobjekt aufgrund des Aufrufs eines asynchronen Close-Vorgangs in den Abschlusszustand ein. (Geerbt von CommunicationObject) |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
Fügt die Verarbeitung eines Kommunikationsobjekts ein, nachdem es aufgrund des Aufrufs eines asynchronen Geöffneten Vorgangs in den Öffnungszustand wechselt. (Geerbt von CommunicationObject) |
| OnClose(TimeSpan) |
Fügt die Verarbeitung eines Kommunikationsobjekts ein, nachdem es aufgrund des Aufrufs eines synchronen Close-Vorgangs zum Abschlusszustand wechselt. (Geerbt von CommunicationObject) |
| OnClosed() |
Verwendet die Diagnoseablaufverfolgung während des Übergangs in den Schließen-Zustand. |
| OnClosing() |
Wird während des Übergangs eines Kommunikationsobjekts in den Abschlusszustand aufgerufen. (Geerbt von CommunicationObject) |
| OnEndClose(IAsyncResult) |
Schließt einen asynchronen Vorgang zum Schließen eines Kommunikationsobjekts ab. (Geerbt von CommunicationObject) |
| OnEndOpen(IAsyncResult) |
Schließt einen asynchronen Vorgang beim Öffnen eines Kommunikationsobjekts ab. (Geerbt von CommunicationObject) |
| OnFaulted() |
Fügt die Verarbeitung in ein Kommunikationsobjekt ein, nachdem es aufgrund des Aufrufs eines synchronen Fehlervorgangs in den fehlerhaften Zustand wechselt. (Geerbt von CommunicationObject) |
| OnOpen(TimeSpan) |
Fügt die Verarbeitung für ein Kommunikationsobjekt ein, nachdem es in den Öffnungszustand übergibt, der innerhalb eines bestimmten Zeitintervalls abgeschlossen werden muss. (Geerbt von CommunicationObject) |
| OnOpened() |
Wird während des Übergangs eines Kommunikationsobjekts in den geöffneten Zustand aufgerufen. (Geerbt von CommunicationObject) |
| OnOpening() |
Wird während des Übergangs eines Kommunikationsobjekts in den Öffnungszustand aufgerufen. (Geerbt von CommunicationObject) |
| Open() |
Bewirkt, dass ein Kommunikationsobjekt vom erstellten Zustand in den geöffneten Zustand wechselt. (Geerbt von CommunicationObject) |
| Open(TimeSpan) |
Bewirkt, dass ein Kommunikationsobjekt innerhalb eines bestimmten Zeitintervalls vom erstellten Zustand in den geöffneten Zustand wechselt. (Geerbt von CommunicationObject) |
| ThrowIfDisposed() |
Löst eine Ausnahme aus, wenn das Kommunikationsobjekt verworfen wird. (Geerbt von CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
Löst eine Ausnahme aus, wenn das Kommunikationsobjekt, das die State Eigenschaft nicht auf den Created Zustand festgelegt ist. (Geerbt von CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
Löst eine Ausnahme aus, wenn sich das Kommunikationsobjekt nicht im Opened Zustand befindet. (Geerbt von CommunicationObject) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Ereignisse
| Name | Beschreibung |
|---|---|
| Closed |
Tritt auf, wenn ein Kommunikationsobjekt in den geschlossenen Zustand wechselt. (Geerbt von CommunicationObject) |
| Closing |
Tritt auf, wenn ein Kommunikationsobjekt in den Schließen-Zustand wechselt. (Geerbt von CommunicationObject) |
| Faulted |
Tritt auf, wenn ein Kommunikationsobjekt in den fehlerhaften Zustand wechselt. (Geerbt von CommunicationObject) |
| Opened |
Tritt auf, wenn ein Kommunikationsobjekt in den geöffneten Zustand wechselt. (Geerbt von CommunicationObject) |
| Opening |
Tritt auf, wenn ein Kommunikationsobjekt in den Öffnungszustand wechselt. (Geerbt von CommunicationObject) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IDefaultCommunicationTimeouts.CloseTimeout |
Ruft das Zeitintervall ab, nach dem die close-Methode, die von einem Kommunikationsobjekt aufgerufen wird, timeout. |
| IDefaultCommunicationTimeouts.OpenTimeout |
Ruft das Zeitintervall ab, nach dem die geöffnete Methode, die von einem Kommunikationsobjekt aufgerufen wird, timeout. |
| IDefaultCommunicationTimeouts.ReceiveTimeout |
Ruft das Zeitintervall ab, nach dem die empfangene Methode, die von einem Kommunikationsobjekt aufgerufen wird, timeout. |
| IDefaultCommunicationTimeouts.SendTimeout |
Ruft das Zeitintervall ab, nach dem die Sendemethode, die von einem Kommunikationsobjekt aufgerufen wird, timeout. |