AppDomain.IsFinalizingForUnload Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Indica se è in corso lo scaricamento del dominio applicazione e se il completamento degli oggetti in esso contenuti è stato avviato in Common Language Runtime.
public:
bool IsFinalizingForUnload();
public bool IsFinalizingForUnload ();
member this.IsFinalizingForUnload : unit -> bool
Public Function IsFinalizingForUnload () As Boolean
Restituisce
true
se è in corso lo scaricamento del dominio applicazione ed è stato avviato il richiamo dei finalizzatori in Common Language Runtime. In caso contrario, false
.
Commenti
Il metodo di finalizzazione per un oggetto offre l'opportunità di eseguire tutte 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 vengono restituiti dall'operazione di Garbage Collection di routine o dall'arresto CLR.
Nota
Per determinare se la finalizzazione è dovuta all'arresto 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 dispone di un metodo di finalizzazione. Tuttavia, non è possibile farlo in modo affidabile perché l'oggetto a cui si accede potrebbe essere già stato finalizzato.
Nota
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 dell'applicazione che contiene l'oggetto viene scaricato. In questo caso, non è possibile accedere in modo affidabile a qualsiasi oggetto con un metodo di finalizzazione e a cui fa riferimento un campo statico.