Partager via


CommunicationState Énumération

Définition

Définit les états dans lesquels un ICommunicationObject peut exister.

public enum class CommunicationState
public enum CommunicationState
type CommunicationState = 
Public Enum CommunicationState
Héritage
CommunicationState

Champs

Closed 4

Indique que l'objet de communication a été fermé et n'est plus utilisable.

Closing 3

Indique que l'objet de communication est en train de passer à l'état Closed.

Created 0

Indique que l'objet de communication a été instancié et est configurable, mais pas encore ouvert ou prêt pour utilisation.

Faulted 5

Indique que l'objet de communication a rencontré une erreur ou un défaut dont il ne peut pas récupérer et qu'il n'est donc plus utilisable.

Opened 2

Indique que l'objet de communication est maintenant ouvert et prêt à être utilisé.

Opening 1

Indique que l'objet de communication est en train de passer de l'état Created à l'état Opened.

Remarques

Cette énumération définit les états qui sont valides pour tous les objets de communication dans le système, y compris les canaux, les écouteurs, les fabriques, les répartiteurs et les hôtes de service.

Les méthodes qui gèrent les transitions entre ces états et les événements qui peuvent leur être associés sont définies dans l'interface ICommunicationObject. L'état d'un objet peut être obtenu à l'aide de la propriété State.

Un objet de communication peut occuper quatre états principaux et deux états transitoires. Les états principaux sont :

  • Date de création

  • Ouvert

  • Fermés

  • Erreur

Les deux états transitoires qu'un objet de communication peut occuper lors de la transition entre ces états principaux sont :

  • Ouverture

  • Fermeture

L’objet de communication peut être configuré dans l’état Créé. Par exemple, ses propriétés peuvent être modifiées, et ses événements peuvent être enregistrés. Aucune entrée ou sortie ne peut se produire dans cet état. Ainsi, par exemple, des messages ne peuvent pas être envoyés ou reçus d'un canal dans cet état.

L’ouverture est un état temporaire que l’objet de communication entre lorsque la Open méthode est appelée. Sauf indication contraire sur les classes dérivées, les objets dans l'état d'ouverture ne peuvent pas être configurés. Cet état de transition ne peut être entré qu’à partir de l’état créé.

Les objets passent à l’état Ouvert lorsque le processus ouvert se termine. Cette transition vers l’état Ouvert est valide uniquement à partir de l’état d’ouverture. Sauf indication contraire sur les classes dérivées, la configuration de l'objet est maintenant désactivée. À ce stade, l'objet est totalement utilisable pour les transferts de messages.

La fermeture est un état temporaire que l’objet entre lorsque la Close méthode est appelée pour un arrêt gracieux ou que l’objet est abandonné. À ce stade, l'objet devient inutilisable (si ce n'est pas déjà le cas). Cette transition est valide à partir d’un état à l’exception de l’état fermé.

L’état fermé équivaut à être supprimé et la configuration de l’objet peut toujours être inspectée.

L’état faulted est utilisé pour indiquer que l’objet a été transféré vers un état où il ne peut plus être utilisé. Il y a deux scénarios principaux dans lesquels cela peut se produire :

  • Si la méthode Open échoue pour quelque raison, l'objet passe à l'état par défaut.

  • Si un canal basé sur session détecte une erreur dont il ne peut pas récupérer, il passe à l'état par défaut. Ceci peut arriver, par exemple, s'il existe une erreur de protocole (autrement dit, il reçoit un message de protocole à un moment non valide) ou si le point de terminaison distant abandonne la session.

Un objet dans l’état Faulted n’est pas fermé et peut contenir des ressources. La méthode Abort doit être utilisée pour fermer un objet qui a généré une erreur. S’il Close est appelé sur un objet dans l’état Faulted, un CommunicationObjectFaultedException est levée, car l’objet ne peut pas être fermé avec grâce.

S’applique à