Esta documentación está archivada y no tiene mantenimiento.

CommunicationState (Enumeración)

Actualización: noviembre 2007

Define los estados en los que un ICommunicationObject puede existir.

Espacio de nombres:  System.ServiceModel
Ensamblado:  System.ServiceModel (en System.ServiceModel.dll)

public enum CommunicationState
public enum CommunicationState
public enum CommunicationState

Nombre de miembroDescripción
ms405978.CFW(es-es,VS.90).gifCreatedIndica que se ha creado una instancia del objeto de comunicación y se puede configurar, pero ni se puede abrir todavía ni está lista para su uso.
ms405978.CFW(es-es,VS.90).gifOpeningIndica que el objeto de comunicación se está pasando del estado Created al estado Opened.
ms405978.CFW(es-es,VS.90).gifOpenedIndica que el objeto de comunicación ya está abierto y listo para su uso.
ms405978.CFW(es-es,VS.90).gifClosingIndica que el objeto de comunicación está pasando al estado Closed.
ms405978.CFW(es-es,VS.90).gifClosedIndica que el objeto de comunicación se ha cerrado y ya no se puede utilizar.
ms405978.CFW(es-es,VS.90).gifFaultedIndica que el objeto de comunicación ha encontrado un error del que no se puede recuperar y debido al cual ya no se puede utilizar.

Esta enumeración define los estados que son válidos para todos los objetos de comunicación del sistema, incluidos los canales, agentes de escucha, generadores y hosts de servicios.

Los métodos que administran las transiciones entre estos estados y los eventos que pueden asociarse a ellos se definen en la interfaz ICommunicationObject. El estado de un objeto se puede obtener utilizando la propiedad State.

Hay cuatro estados principales y dos estados transitorios que un objeto de comunicación puede ocupar. Los estados principales son:

  • Created

  • Opened

  • Closed

  • Faulted

Los dos estados transitorios que puede ocupar un objeto de comunicación cuando se produce la transición entre estos estados principales son:

  • Opening

  • Closing

El objeto de comunicación puede configurarse en el estado Created. Por ejemplo, se pueden cambiar sus propiedades y se pueden registrar sus eventos. Ninguna entrada o salida puede producirse en este estado. De modo que, los mensajes, por ejemplo, no se pueden enviar ni recibir desde un canal en este estado.

Opening es un estado temporal en el que el objeto de comunicación entra cuando se invoca el método Open. A menos que se comunique lo contrario en clases derivadas, no se pueden configurar los objetos en el estado de la apertura. Se puede entrar en este estado de transición sólo desde el estado Created.

Los objetos pasan al estado Opened cuando se complete el proceso de apertura. Esta transición al estado Opened sólo es válido desde el estado Opening. A menos que se observe lo contrario en clases derivadas, ahora la configuración del objeto está deshabilitada. En este punto, el objeto es totalmente utilizable para transferencias de mensajes.

El estado Closing es un estado temporal en el que el objeto entra cuando se invoca el método Close para lograr un cierre estable o se anula el objeto. En este punto, el objeto se vuelve (si no lo es ya) inutilizable. Esta transición es válida desde cualquier estado excepto desde el estado Closed.

El estado Closed es equivalente a ser eliminado y la configuración del objeto todavía se puede inspeccionar.

El estado Faulted se utiliza para indicar que el objeto ha pasado a un estado en el que ya no se puede utilizar. Hay dos escenarios principales donde esto puede pasar:

  • Si se produce un error en el método Open por cualquier motivo, el objeto pasa al estado de error.

  • Si un canal basado en sesión detecta un error del que no se puede recuperar, pasa al estado de error. Esto puede pasar, por ejemplo, si hay un error de protocolo (es decir, recibe un mensaje protocolar en un momento no válido) o si el extremo remoto anula la sesión.

No se cierra ningún objeto que esté en el estado Faulted, y podría contener recursos. El método Abort se debería utilizar para cerrar un objeto que ha producido un error. Si se llama a Close en un objeto en el estado Faulted, se inicia una CommunicationObjectFaultedException porque no se puede cerrar el objeto de manera estable.

Windows Vista, Windows XP SP2, Windows Server 2003, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0

.NET Compact Framework

Compatible con: 3.5
Mostrar: