CA2001: Unikaj wywoływania problematycznych metod
TypeName |
AvoidCallingProblematicMethods |
CheckId |
CA2001 |
Kategoria |
Microsoft.Reliability |
Zmiana kluczowa |
Niekluczowa |
Przyczyna
Element członkowski wywołuje potencjalnie niebezpieczną lub problematyczną metodę.
Opis reguły
Należy unikać niepotrzebnych i potencjalnie groźnych wywołań metody.
Naruszenie tej reguły występuje, gdy członek wywołuje jedną z następujących metod.
Metoda |
Opis |
---|---|
Wywoływanie GC.Collect może znacząco wpłynąć na wydajność aplikacji i rzadko jest potrzebne.Aby uzyskać więcej informacji, zobacz Rico Mariani wydajności informacje o technologii wpis w blogu w witrynie MSDN. |
|
Metody Thread.suspend i Thread.Resume stały się przestarzałe z powodu ich nieprzewidywalnego zachowania. Użyj innych klas w przestrzeni nazw System.Threading, takich jak Monitor, [T:System.Threading.Mutex,] , Mutex, i Semaphore do synchronizowania wątków lub ochrony zasobów. |
|
Metoda DangerousGetHandle stwarza zagrożenie bezpieczeństwa, ponieważ może zwracać uchwyt, który jest nieprawidłowy.Zobacz DangerousAddRef i DangerousRelease metod, aby uzyskać więcej informacji na temat sposobu użycia metody DangerousGetHandle bezpiecznie. |
|
Te metody mogą ładować zestawy z nieoczekiwanych lokalizacji.Na przykład, zobacz Suzanne Cooka .NET CLR notatki w blogach LoadFile a LoadFrom i Wybieranie kontekstu wiązania informacje o metodach, które ładowanie zestawów w witrynie MSDN w sieci Web. |
|
CoSetProxyBlanket (Ole32) Metody CoInitializeSecurity (Ole32) |
W momencie, w którym kod użytkownika zaczyna wykonywać się w zarządzanym procesie jest za późno aby niezawodnie wywołać CoSetProxyBlanket.Common language runtime (CLR) podejmuje akcje inicjalizacji, które mogą uniemożliwić P/Invoke użytkownikom powiedzenie się Jeśli naprawdę musisz wywołać CoSetProxyBlanket dla zarządzanych aplikacji, zaleca się rozpocząć proces przy użyciu pliku wykonywalnego kodu macierzystego (C++), wywołanie CoSetProxyBlanket w kodzie macierzystym, a następnie uruchomienie aplikacji kodu zarządzanego w procesie. (Należy określić numer wersji środowiska uruchomieniowego.) |
Jak naprawić naruszenia
Aby naprawić naruszenie tej zasady, usuń lub zastąp wywołanie metody niebezpiecznej lub problematycznej.
Kiedy pominąć ostrzeżenia
Wiadomości od tej reguły powinno pomijać się tylko wtedy, gdy nie ma innych sposobów na rozwiązanie problematycznej metody.