Evitare le chiamate a metodi problematici
Aggiornamento: novembre 2007
TypeName |
AvoidCallingProblematicMethods |
CheckId |
CA2001 |
Categoria |
Microsoft.Reliability |
Breaking Change |
Non sostanziale |
Causa
Un membro chiama un metodo potenzialmente pericoloso o problematico.
Descrizione della regola
Evitare di effettuare chiamate a metodi non necessarie e potenzialmente pericolose.
Questa regola viene generata quando un membro chiama uno dei seguenti metodi:
Type.InvokeMember with BindingFlags.NonPublic
CoSetProxyBlanket (Ole32)
CoInitializeSecurity (Ole32)
Inopportunità dell'utilizzo di CoSetProxyBlanket nel codice gestito
Una volta avviata l'esecuzione del codice utente in un processo gestito, è troppo tardi per chiamare CoSetProxyBlanket in modo affidabile. In CLR vengono adottate misure che potrebbero impedire l'esito positivo di P/Invoke.
Se è necessario chiamare CoSetProxyBlanket per un'applicazione gestita, si consiglia di avviare il processo utilizzando un file eseguibile di codice nativo (C++), chiamare CoSetProxyBlanket nel codice nativo e, quindi, avviare l'applicazione in codice gestito nel processo. Assicurarsi di specificare un numero di versione di runtime.
Correzione di violazioni
Per correggere una violazione di questa regola, rimuovere o sostituire la chiamata al metodo pericoloso o problematico.
Esclusione di avvisi
Non escludere un avviso da questa regola.