Udostępnij za pośrednictwem


Ostrzeżenia niezawodności

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: Usuwanie 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: Unikaj wywoływania problematycznych metod

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

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

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 traktuj włókien jako wątków

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

CA2004: Usuń wywołania do GC.KeepAlive

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, aby hermetyzować zasoby natywne

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.