CA2001: evitar métodos problemáticos de chamada
TypeName |
AvoidCallingProblematicMethods |
CheckId |
CA2001 |
Categoria |
Microsoft.Reliability |
Alteração Significativa |
Sem quebra |
Causa
Um membro chama um método potencialmente perigoso ou problemático.
Descrição da Regra
Evite ajustar que faz chamadas desnecessários e potencialmente perigosos do método.
Uma violação desta regra ocorre quando um membro chama um dos seguintes métodos.
Método |
Descrição |
---|---|
A chamada GC.Collect pode afetar significativamente o desempenho do aplicativo e raramente é necessária.Para Boatos de desempenho de Mariani Avançado obter mais informações, consulte a entrada de blog no MSDN. |
|
Thread.Suspend e Thread.Resume foram substituídos devido ao seu comportamento imprevisível. Use outras classes no namespace de System.Threading , como Monitor, [T:System.Threading.Mutex,]Mutex, e Semaphore para sincronizar threads ou proteger recursos. |
|
O método de DangerousGetHandle gerencie um risco à segurança porque pode retornar um identificador inválido.Consulte DangerousAddRef e os métodos de DangerousRelease para obter mais informações sobre como usar com segurança o método de DangerousGetHandle. |
|
Eles podem carregar os assemblies de locais inesperados.Por exemplo, consulte postagens de blog notas de .NET CLR types cozinheiro de Suzanne LoadFile em LoadFrom e Escolhendo um contexto de associação no site do MSDN para obter informações sobre os métodos que carregam os assemblies. |
|
CoSetProxyBlanket (Ole32) CoInitializeSecurity (Ole32) |
Antes de iniciar o código de usuário for executado em um processo gerenciado, é muito tarde chamar o CoSetProxyBlanket.Common Language Runtime (CLR) usa as ações de inicialização que podem impedir que os usuários P/Invoke teve êxito. Se você precisa chamar CoSetProxyBlanket para um aplicativo gerenciado, recomendamos que você inicia o processo usando um executável de código nativo (C++), chamamos CoSetProxyBlanket em código nativo, e começamos em seu aplicativo de código gerenciado em processo. (Não se esqueça de especificar um número de versão de tempo de execução.) |
Como Corrigir Violações
Para corrigir uma violação desta regra, remover ou substituir a chamada para o método perigoso ou problemático.
Quando Suprimir Alertas
Você deve eliminar mensagens dessa regra apenas quando nenhuma alternativa para o método problemático está disponível.