O uso de IntPtr no código gerenciado pode indicar um problema potencial de segurança e confiabilidade. Todos os usos de IntPtr devem ser revisados para determinar se o uso de um SafeHandle (ou tecnologia semelhante) é necessário em seu lugar. Problemas ocorrerão se o IntPtr representar algum recurso nativo (memória, identificador de arquivo, soquete, etc.) considerado como pertencente ao código gerenciado. Ou seja, espera-se que de alguma forma o código gerenciado libere o recurso. Deixar de fazer isso causará o vazamento do recurso. Nesses cenários, também haverá problemas de segurança ou confiabilidade se o acesso multithread for permitido ao IntPtr e um meio de liberar o recurso representado pelo IntPtr. Esses problemas envolvem a reciclagem do valor de IntPtr na liberação do recurso enquanto o recurso está sendo usado simultaneamente por outro thread, o que leva a condições de corrida em que um thread pode ler ou escrever dados associados ao recurso incorreto. Por exemplo, se seu tipo armazena um identificador de SO como um IntPtr e permite que os usuários chamem Close e qualquer outro método simultaneamente que usa esse identificador (sem nenhum tipo de sincronização), seu código possui um problema de reciclagem de identificadores, o que causa corrompimento dos dados e, muitas vezes, uma vulnerabilidade de segurança. SafeHandle (e sua classe irmã CriticalHandle) fornece um mecanismo para encapsular um identificador nativo em um recurso de modo a evitar tais problemas de threading (juntamente com outros problemas, como a necessidade de controlar cuidadosamente o tempo de vida de objetos gerenciados que contêm uma cópia do identificador nativo sobre chamadas para métodos nativos, ou seja, muitas vezes, você pode remover as chamadas para GC.KeepAlive). Há efeitos negativos sobre o desempenho implícitos no uso de SafeHandle (e, em um grau menor, CriticalHandle), os quais podem ser frequentemente mitigados por meio de um projeto cuidadoso.
O uso de 'is' para testar a compatibilidade com 'dynamic' é basicamente idêntico ao teste de compatibilidade com 'object' ...
O uso de Deny ou PermitOnly deve ser revisado cuidadosamente. O uso de Deny ou PermitOnly deve ser considerado cuidadosamente, ...
O uso de eventos definidos em um assembly referenciado com 'Embed Interop Types' definido como verdadeiro exige uma referência ...
O uso de exigências imperativas pode levar a problemas de segurança imprevistos. Os valores usados para construir uma permissão ...
O uso de IntPtr no código gerenciado pode indicar um problema potencial de segurança e confiabilidade. Todos os usos de IntPtr ...
O uso de uma conta de usuário de computador local para o logon no serviço Team Foundation Server pode impedi-lo de adicionar ...
O uso do caractere dois-pontos ':' neste nome de usuário pode impedir que aplicativos que não sejam do LightSwitch se autentiquem ...
O uso do Designer de Conjunto de Dados para abrir um esquema XML que não seja do conjunto de dados pode alterar o conteúdo ...
O usuário "{0}" não tem uma chave de ambiente do usuário gravável. Verifique se o pool de aplicativos associado tem a opção ...