Condividi tramite


AppDomain.IsFinalizingForUnload Metodo

Definizione

Indica se il dominio applicazione viene scaricato e gli oggetti che contiene vengono finalizzati da Common Language Runtime.

public:
 bool IsFinalizingForUnload();
public bool IsFinalizingForUnload();
member this.IsFinalizingForUnload : unit -> bool
Public Function IsFinalizingForUnload () As Boolean

Restituisce

true se il dominio dell'applicazione viene scaricato e Common Language Runtime ha iniziato a richiamare i finalizzatori; in caso contrario, false.

Commenti

Il metodo di finalizzazione per un oggetto offre l'opportunità di eseguire le operazioni di pulizia necessarie prima che l'oggetto venga sottoposto a Garbage Collection. Dopo la finalizzazione, l'oggetto è accessibile ma in uno stato non valido e pertanto inutilizzabile. Alla fine, Garbage Collection viene completato e recuperato l'oggetto .

Il metodo di finalizzazione di un oggetto viene chiamato in una delle situazioni seguenti: durante l'operazione di Garbage Collection, quando Common Language Runtime viene arrestato o quando il dominio applicazione che contiene l'oggetto viene scaricato. Il IsFinalizingForUnload metodo restituisce true solo nell'ultimo caso; non restituisce true se i risultati della finalizzazione provengono dalla procedura di Garbage Collection di routine o dall'arresto clr.

Annotazioni

Per determinare se la finalizzazione è dovuta all'arresto di CLR, utilizzare la Environment.HasShutdownStarted proprietà . Restituisce true se la finalizzazione è dovuta al caricamento di un dominio applicazione o all'arresto di CLR.

Durante l'esecuzione nel metodo di finalizzazione durante lo scaricamento del dominio, potrebbe essere necessario accedere a un altro oggetto a cui fa riferimento un campo statico e ha un metodo di finalizzazione. Tuttavia, non è possibile farlo in modo affidabile perché l'oggetto a cui si accede potrebbe essere già stato finalizzato.

Annotazioni

Un'eccezione a questa regola è la Console classe , che contiene campi statici che fanno riferimento a oggetti flusso, ma viene implementata appositamente in modo da poter sempre scrivere nella console di sistema, anche durante lo scaricamento del dominio o l'arresto del sistema.

Utilizzare questo metodo nel metodo di finalizzazione di un oggetto per determinare se il dominio applicazione che contiene l'oggetto viene scaricato. In tal caso, non è possibile accedere in modo affidabile a qualsiasi oggetto con un metodo di finalizzazione e a cui fa riferimento un campo statico.

Si applica a

Vedi anche