Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Compatibilidade de políticas de segurança de acesso de código e migração

A parte de política de segurança de acesso a código (CAS) foi feita em .NET Framework 4obsoleta. No, você pode encontrar avisos de compilação e exceções em tempo de execução se você chamar os tipos e os membros obsoletos de política explicitamente ou implicitamente (em outros tipos e membros).

Você pode evitar avisos e erros por um dos seguintes:

Este tópico contém as seguintes seções:

Várias sobrecargas de carga de assembly gerenciem erros devido ao seu uso implícita de política de CAS. Essas sobrecargas têm um parâmetro de Evidence que é usado para resolver a política de CAS e fornecer uma concessão da permissão definida para um assembly.

Veja alguns exemplos. As sobrecargas obsoletas são as que têm Evidence como um parâmetro:

Os tipos e os membros obsoletos gerenciar as seguintes mensagens de erro quando são usados. Observe que o próprio tipo de System.Security.Policy.Evidence não está obsoleto.

Aviso de tempo de compilação:

warning CS0618: '<API Name>' is obsolete: 'This method is obsolete and will be removed in a future release of the .NET Framework. Please use <suggested alternate API>. See <link> for more information.'

Exceção de tempo de execução:

NotSupportedException : This method uses CAS policy, which has been obsoleted by the .NET Framework. In order to enable CAS policy for compatibility reasons, please use the <NetFx40_LegacySecurityPolicy> configuration switch. Please see <link> for more information.

Ee191568.collapse_all(pt-br,VS.110).gifDeterminando o nível de confiança de um assembly

A política de CAS são usadas frequentemente para determinar um conjunto de concessão de permissão de assembly ou de domínio do aplicativo ou o nível de confiança. .NET Framework 4 expõe as seguintes propriedades úteis que não precisam resolver a política de segurança:

Ee191568.collapse_all(pt-br,VS.110).gifDomínio de aplicativo Sandboxing

O método de AppDomain.SetAppDomainPolicy é usado normalmente sandboxing os assemblies em um domínio do aplicativo. .NET Framework 4 expõe os membros que não precisam usar PolicyLevel para essa finalidade. Para obter mais informações, consulte Como executar código parcialmente confiável em uma área restrita.

Ee191568.collapse_all(pt-br,VS.110).gifDeterminando um conjunto de permissões seguro ou razoável para o código parcialmente confiável

Os hosts geralmente precisam de determinar as permissões que são apropriadas para sandboxing o código hospedado. Antes de .NET Framework 4, a política de CAS forneceu uma forma de fazer isso com o método de SecurityManager.ResolvePolicy. Como uma substituição, .NET Framework 4 fornece o método de SecurityManager.GetStandardSandbox, que retorna um conjunto de permissões seguro, padrão para a evidência fornecida.

Ee191568.collapse_all(pt-br,VS.110).gifCenários de Non-Sandboxing: Sobrecargas para cargas de assembly

A razão para usar uma sobrecarga de carga de assembly pode ser usar os parâmetros que não estão disponíveis de outra maneira, em vez de sandboxing o assembly. A partir .NET Framework 4, as sobrecargas de carregamento do assembly que não exigem um objeto de System.Security.Policy.Evidencecomo um parâmetro, por exemplo, AppDomain.ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm), permitem que esse cenário.

Se você deseja à área restrita um assembly, use a sobrecarga de AppDomain.CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) .

<NetFx40_LegacySecurityPolicy> elemento de configuração permite especificar que um processo ou uma biblioteca usam a diretiva herdado de CAS. Quando você habilita esse elemento, as sobrecargas da política e de evidência funcionarão como feitas nas versões anteriores da estrutura.

Observação Observação

O comportamento da política de CAS é especificada em uma base da versão de tempo de execução, a política de alteração da CAS para uma versão de tempo de execução não afeta a política de CAS de outra versão.

<configuration>
   <runtime>
      <NetFx40_LegacySecurityPolicy enabled="true"/>
   </runtime>
</configuration>

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft