CommunicationState CommunicationState CommunicationState CommunicationState Enum

Definition

Definiert die Zustände, in denen ein ICommunicationObject existieren kann. Defines the states in which an ICommunicationObject can exist.

public enum class CommunicationState
public enum CommunicationState
type CommunicationState = 
Public Enum CommunicationState
Inheritance
CommunicationStateCommunicationStateCommunicationStateCommunicationState

Fields

Closed Closed Closed Closed 4

Gibt an, dass das Kommunikationsobjekt geschlossen wurde und nicht länger verwendbar ist. Indicates that the communication object has been closed and is no longer usable.

Closing Closing Closing Closing 3

Gibt an, dass das Kommunikationsobjekt in den Zustand Closed übergeht. Indicates that the communication object is transitioning to the Closed state.

Created Created Created Created 0

Gibt an, dass das Kommunikationsobjekt instantiiert wurde und konfigurierbar ist, jedoch noch nicht geöffnet oder bereit für die Verwendung. Indicates that the communication object has been instantiated and is configurable, but not yet open or ready for use.

Faulted Faulted Faulted Faulted 5

Gibt an, dass das Kommunikationsobjekt auf einen Fehler gestoßen ist, den es nicht beheben kann und ab dem es nicht mehr verwendbar ist. Indicates that the communication object has encountered an error or fault from which it cannot recover and from which it is no longer usable.

Opened Opened Opened Opened 2

Gibt an, dass das Kommunikationsobjekt jetzt geöffnet und verwendungsbereit ist. Indicates that the communication object is now open and ready to be used.

Opening Opening Opening Opening 1

Gibt an, dass das Kommunikationsobjekt vom Zustand Created in den Zustand Opened übergeht. Indicates that the communication object is being transitioned from the Created state to the Opened state.

Remarks

Diese Enumeration definiert die Zustände, die für alle Kommunikationsobjekte im System gültig sind, einschließlich Kanäle, Listener, Factorys, Verteiler und Diensthosts.This enumeration defines the states that are valid for all communication objects in the system, including channels, listeners, factories, dispatchers, and service hosts.

Die Methoden, die die Übergänge zwischen diesen Zuständen und den Ereignissen verwalten, die diesen zugeordnet werden können, werden in der ICommunicationObject-Schnittstelle definiert.The methods that manage transitions between these states and the events that can be associated with them are defined in the ICommunicationObject interface. Der Zustand eines Objekts kann unter Verwendung der State-Eigenschaft abgerufen werden.The state of an object can be obtained using the State property.

Es gibt vier Hauptzustände und zwei flüchtige Zustände, die ein Kommunikationsobjekt einnehmen kann.There are four main states and two transient states that a communication object can occupy. Die Hauptzustände sind:The main states are:

  • CreatedCreated

  • OpenedOpened

  • GeschlossenClosed

  • FaultedFaulted

Die zwei flüchtigen Zustände, die ein Kommunikationsobjekt beim Übergang zwischen diesen Hauptzuständen einnehmen kann, sind:The two transitory states that a communication object can occupy when transitioning between these main states are:

  • OpeningOpening

  • SchließendeClosing

Das Kommunikationsobjekt kann im Created-Zustand konfiguriert werden.The communication object can be configured in the Created state. Es können beispielsweise seine Eigenschaften geändert und seine Ereignisse registriert werden.For example, its properties can be changed, and its events can be registered. In diesem Zustand kann keine Eingabe oder Ausgabe erfolgen.No input or output can occur in this state. Daher können beispielsweise keine Meldungen aus einem Kanal in diesem Zustand gesendet oder von diesem empfangen werden.So messages, for example, cannot be sent or received from a channel in this state.

Das Öffnen, ist ein temporärer Zustand, der das Kommunikationsobjekt annimmt, wenn die Open -Methode wird aufgerufen.The Opening is a temporary state that the communication object enters when the Open method is invoked. Sofern nicht anderweitig für abgeleitete Klassen angegeben, können Objekte im Öffnungszustand nicht konfiguriert werden.Unless otherwise noted on derived classes, objects in the opening state cannot be configured. Dieser Übergangszustand kann nur vom Created-Zustand eingegeben werden.This transition state can only be entered from the Created state.

Objekt geht zu im Opened-Zustand, wenn der Öffnungsprozess abgeschlossen ist.Objects transition to the Opened state when the open process completes. Dieser Übergang in den geöffnet-Zustand ist nur gültig, aus dem Zustand "Öffnen".This transition to the Opened state is only valid from the Opening state. Sofern nicht anderweitig für abgeleitete Klassen angegeben, ist die Konfiguration des Objekts nun deaktiviert.Unless otherwise noted on derived classes, the configuration of the object is now disabled. Zu diesem Zeitpunkt kann das Objekt in vollem Umfang für die Meldungsübertragung verwendet werden.At this point, the object is fully usable for message transfers.

Das Schließen ist ein temporärer Zustand, der das Objekt annimmt, wenn die Close Methode für ein ordnungsgemäßes Herunterfahren aufgerufen wird, oder das Objekt angebrochen wird.The Closing is a temporary state that the object enters when the Close method is invoked for a graceful shutdown or the object is aborted. An diesem Punkt wird das Objekt nicht mehr verwendbar (wenn es dies nicht bereits ist).At this point, the object becomes (if not already) unusable. Dieser Übergang ist von einem beliebigen Zustand, mit Ausnahme von Zustand "geschlossen" gültig.This transition is valid from any state except the Closed state.

Der geschlossene Zustand ist gleichwertig mit dem freigeben, und die Konfiguration des Objekts kann weiterhin geprüft werden.The Closed state is equivalent to being disposed and the configuration of the object can still be inspected.

Faulted-Status wird verwendet, um anzugeben, dass das Objekt in einen Zustand übergegangen ist, in denen es nicht mehr verwendet werden kann.The Faulted state is used to indicate that the object has transitioned to a state where it can no longer be used. Es gibt zwei primäre Szenarien, in denen dies geschehen kann.There are two primary scenarios where this can happen:

  • Wenn die Open-Methode fehlschlägt, geht das Objekt in den Fehlerzustand über.If the Open method fails for any reason, the object transitions to the faulted state.

  • Wenn ein sitzungsbasierter Kanal einen Fehler feststellt, den er nicht beheben kann, geht er in den Fehlerzustand über.If a session-based channel detects an error that it cannot recover from, it transitions to the faulted state. Dies kann beispielsweise geschehen, wenn ein Protokollfehler vorliegt (d. h., eine Protokollmeldung wird zu einem ungültigen Zeitpunkt empfangen), oder wenn der Remoteendpunkt die Sitzung abbricht.This can happen for instance if there is a protocol error (that is, it receives a protocol message at an invalid time) or if the remote endpoint aborts the session.

Ein Objekt im Zustand "Faulted" ist nicht geschlossen und kann Ressourcen belegen.An object in the Faulted state is not closed and may be holding resources. Die Abort-Methode sollte verwendet werden, um ein Objekt zu schließen, bei dem ein Fehler aufgetreten ist.The Abort method should be used to close an object that has faulted. Wenn Close wird aufgerufen, für ein Objekt in den Faulted-Zustand, einem CommunicationObjectFaultedException wird ausgelöst, weil das Objekt nicht ordnungsgemäß geschlossen werden kann.If Close is called on an object in the Faulted state, a CommunicationObjectFaultedException is thrown because the object cannot be gracefully closed.

Applies to