Teilen über


Environment.HasShutdownStarted Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob die derzeitige Anwendungsdomäne entladen wird oder die Common Language Runtime (CLR) heruntergefahren wird.

public:
 static property bool HasShutdownStarted { bool get(); };
public static bool HasShutdownStarted { get; }
static member HasShutdownStarted : bool
Public Shared ReadOnly Property HasShutdownStarted As Boolean

Eigenschaftswert

true , wenn die aktuelle Anwendungsdomäne entladen wird oder die CLR heruntergefahren wird; falseandernfalls .

Hinweise

nur .NET Framework: Wenn die CLR eine Anwendungsdomäne entlädt, führt sie die Finalizer für alle Objekte aus, die über eine Finalizer-Methode in dieser Anwendungsdomäne verfügen. Wenn die CLR heruntergefahren wird, startet sie den Finalizerthread für alle Objekte, die über eine Finalizer-Methode verfügen. Die HasShutdownStarted -Eigenschaft wird erst zurückgegeben true , nachdem der Finalizerthread gestartet wurde. Wenn die -Eigenschaft zurückgibt true, können Sie ermitteln, ob eine Anwendungsdomäne entladen wird oder die CLR selbst heruntergefahren wird, indem Sie die AppDomain.IsFinalizingForUnload -Methode aufrufen. Diese Methode gibt zurück true , wenn Finalizer aufgerufen werden, weil die Anwendungsdomäne entladen wird oder false wenn die CLR heruntergefahren wird.

Die HasShutdownStarted -Eigenschaft gibt zurück false , wenn der Finalizerthread nicht gestartet wurde.

Mithilfe dieser Eigenschaft können Sie bestimmen, ob sie auf statische Variablen in Ihrem Finalisierungscode zugreifen möchten. Wenn entweder eine Anwendungsdomäne oder die CLR heruntergefahren wird, können Sie nicht zuverlässig auf ein Objekt zugreifen, das über eine Finalisierungsmethode verfügt und auf das von einem statischen Feld verwiesen wird. Dies liegt daran, dass diese Objekte möglicherweise bereits abgeschlossen wurden.

Gilt für:

Weitere Informationen