Avvisi di affidabilità
Gli avvisi di affidabilità supportano l'affidabilità di librerie e applicazioni, ad esempio l'utilizzo corretto di memoria e thread.
In questa sezione
Regola |
Descrizione |
---|---|
Poiché è possibile che si verifichi un evento eccezionale che impedisca l'esecuzione del finalizzatore di un oggetto, è opportuno eliminare in modo esplicito l'oggetto prima che tutti i riferimenti a tale oggetto siano esterni all'ambito. |
|
Un membro chiama un metodo potenzialmente pericoloso o problematico. |
|
Un oggetto presenta un'identità debole quando è possibile accedere ad esso direttamente attraverso i confini dei domini applicazione.Un thread che tenta di acquisire un blocco su un oggetto con identità debole può essere bloccato da un secondo thread in un altro dominio applicazione con un blocco sullo stesso oggetto. |
|
Un thread gestito viene considerato come thread Win32. |
|
Se si effettua la conversione all'utilizzo di SafeHandle, rimuovere tutte le chiamate a GC.KeepAlive (oggetto).In questo caso non sarebbe necessario per le classi chiamare GC.KeepAlive, presupponendo che non dispongano di un finalizzatore ma si affidino a SafeHandle per finalizzare l'handle OS al loro posto. |
|
CA2006: Utilizzare SafeHandle per incapsulare le risorse native |
L'utilizzo di IntPtr nel codice gestito potrebbe indicare un potenziale problema di sicurezza e affidabilità.Tutte le occorrenze di IntPtr devono essere esaminate per stabilire se al loro posto è necessario utilizzare SafeHandle o una tecnologia simile. |