Udostępnij za pośrednictwem


Niezawodność ostrzeżenia

Ostrzeżenia niezawodności obsługują niezawodność biblioteki i aplikacji, takie jak poprawne użycie pamięci i wątku.

W tej sekcji

Reguła

Opis

CA2000: Zbywać obiektów przed utratą zakresu

Ponieważ wyjątkowe zdarzenie może wystąpić, które uniemożliwi uruchomienie finalizatora obiekt, obiekty powinny być jawnie usuwane przez tym, jak wszystkie odwołania do niego są poza zakresem.

CA2001: Unikać wywoływania metod problematyczne

Element członkowski wywołuje potencjalnie niebezpieczną lub problematyczną metodę.

CA2002: Nie blokować obiektów z tożsamością słabe

Obiekt ma słabą tożsamość, kiedy bezpośrednio można uzyskać do niego dostęp poza granicami domeny aplikacji.Wątek, który próbuje uzyskać blokadę na obiekcie, który ma słabą tożsamość, może zostać zablokowany przez drugi wątek w domenie innej aplikacji, która ma blokady dla tego samego obiektu.

CA2003: Nie traktować jako wątki włókna

Zarządzalny wątek jest traktowany jako wątek Win32.

CA2004: Usuń wywołania GC.Utrzymywania aktywności

Podczas konwertowania użycia SafeHandle, należy usunąć wszystkie wywołania do GC.KeepAlive (obiekt).W tym przypadku, klasy nie powinny musieć wywołać GC.KeepAlive, zakładając, że nie mają finalizatora i polegają na SafeHandle do sfinalizowania systemu operacyjnego dla nich.

CA2006: Użyj SafeHandle do hermetyzacji zasoby macierzystych

Wykorzystanie IntPtr w kodzie zarządzanym może wskazywać na potencjalny problem zabezpieczeń i niezawodności.Wszystkich użycia IntPtr muszą być przejrzane w celu ustalenia czy użycie elementu SafeHandle lub podobnej technologii jest wymagane w tym miejscy.