Environment.HasShutdownStarted Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que indica si el dominio de aplicación actual se está descargando o si Common Language Runtime (CLR) se está cerrando.
public:
static property bool HasShutdownStarted { bool get(); };
public static bool HasShutdownStarted { get; }
static member HasShutdownStarted : bool
Public Shared ReadOnly Property HasShutdownStarted As Boolean
Valor de propiedad
true
si el dominio de aplicación actual se está descargando o el CLR se está cerrando; de lo contrario, false
.
Comentarios
Solo .NET Framework: cuando CLR descarga un dominio de aplicación, ejecuta los finalizadores en todos los objetos que tienen un método finalizador en ese dominio de aplicación. Cuando CLR se cierra, inicia el subproceso de finalizador en todos los objetos que tienen un método finalizador. La HasShutdownStarted propiedad solo devuelve true
después de que se haya iniciado el subproceso del finalizador. Cuando la propiedad devuelve true
, puede determinar si un dominio de aplicación se está descargando o el propio CLR se apaga llamando al AppDomain.IsFinalizingForUnload método . Este método devuelve true
si se llama a los finalizadores porque el dominio de la aplicación se descarga o false
si CLR se está cerrando.
La HasShutdownStarted propiedad devuelve false
si no se ha iniciado el subproceso del finalizador.
Mediante este uso de esta propiedad, puede determinar si se debe tener acceso a variables estáticas en el código de finalización. Si un dominio de aplicación o CLR se apaga, no puede acceder de forma confiable a ningún objeto que tenga un método de finalización y al que hace referencia un campo estático. Esto se debe a que es posible que estos objetos ya se hayan finalizado.