Avertissements liés à la fiabilité
Les avertissements liés à la fiabilité assurent la fiabilité des bibliothèques et des applications, notamment une exploitation adaptée des threads et de la mémoire.
Dans cette section
Règle |
Description |
---|---|
Sachant qu'un événement exceptionnel peut se produire et empêcher l'exécution du finaliseur d'un objet, ce dernier doit plutôt être supprimé explicitement avant que toutes les références à lui soient hors de portée. |
|
CA2001 : Évitez d'appeler des méthodes susceptibles de poser des problèmes |
Un membre appelle une méthode potentiellement dangereuse ou problématique. |
CA2002 : Ne définissez pas un verrou sur des objets à identité faible |
Un objet est dit d'identité faible lorsqu'il est accessible directement au-delà des limites d'un domaine d'application. Un thread qui essaie d'acquérir un verrou sur un objet qui affiche une identité faible peut être bloqué par un deuxième thread dans un domaine d'application différent qui dispose d'un verrou sur le même objet. |
Un thread managé est traité comme un thread Win32. |
|
Si vous envisagez d'utiliser SafeHandle, supprimez tous les appels à GC.KeepAlive (objet). Dans ce cas, les classes ne requièrent pas d'appel à GC.KeepAlive, en supposant qu'elles ne disposent pas d'un finaliseur, mais dépendent de SafeHandle pour finaliser le handle du système d'exploitation à leur place. |
|
CA2006 : Utilisez SafeHandle pour encapsuler les ressources natives |
L'utilisation de IntPtr dans du code managé peut être le signe d'un problème potentiel de sécurité et de fiabilité. Toute utilisation de IntPtr doit être passée en revue pour déterminer s'il est nécessaire de recourir à un SafeHandle ou une technologie similaire à la place. |