Environment.HasShutdownStarted Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um valor que indica se o domínio de aplicativo atual está sendo descarregado ou o se o CLR (Common Language Runtime) está sendo desligado.
public:
static property bool HasShutdownStarted { bool get(); };
public static bool HasShutdownStarted { get; }
member this.HasShutdownStarted : bool
Public Shared ReadOnly Property HasShutdownStarted As Boolean
Valor da propriedade
true
se o domínio do aplicativo atual estiver sendo descarregado ou o CLR estiver sendo desligado; caso contrário, false
.
Comentários
.NET Framework somente: quando o CLR descarrega um domínio de aplicativo, ele executa os finalizadores em todos os objetos que têm um método de finalizador nesse domínio de aplicativo. Quando o CLR é desligado, ele inicia o thread do finalizador em todos os objetos que têm um método de finalizador. A HasShutdownStarted propriedade retorna true
somente depois que o thread do finalizador é iniciado. Quando a propriedade retorna true
, você pode determinar se um domínio do aplicativo está sendo descarregado ou se o próprio CLR está sendo desligado chamando o AppDomain.IsFinalizingForUnload método. Esse método retornará true
se os finalizadores forem chamados porque o domínio do aplicativo está descarregando ou false
se o CLR está sendo desligado.
A HasShutdownStarted propriedade retornará false
se o thread do finalizador não tiver sido iniciado.
Usando essa propriedade, você pode determinar se deseja acessar variáveis estáticas em seu código de finalização. Se um domínio de aplicativo ou o CLR estiver sendo desligado, você não poderá acessar de forma confiável qualquer objeto que tenha um método de finalização e que seja referenciado por um campo estático. Isso ocorre porque esses objetos podem já ter sido finalizados.