Compartilhar via


Hosts do domínio do aplicativo

Cada aplicativo do .NET estrutura é executado em um domínio de aplicação sob o controle de um host que cria o domínio do aplicativo e carrega os assemblies nele.O host tem acesso a informações sobre o código (evidência), sistema autônomo a zona na qual o código é gerado ou sistema autônomo assinaturas digital dos conjuntos de módulos (assemblies) no domínio do aplicativo.Um host confiável é um host que tenha permissão para fornecer o common linguagem tempo de execução com esse tipo de informação.The System.AppDomain classe fornece a funcionalidade de domínio do aplicativo usada pelos hosts.

A tabela a seguir mostra os tipos de hosts de aplicativos.

host de domínio de aplicativo

Descrição

Navegador host (por exemplo, o Microsoft Internet Explorer)

Executa o código dentro do contexto de um site da Web.

Hosts de design personalizado

Cria domínios e carrega os assemblies em domínios, incluindo assemblies dinâmicos.Podem ser escritos em código gerenciado ou.

Servidor host (por exemplo, ASP.NET)

Executa código que lida com solicitações enviadas a um servidor.

Shell do host

Inicia os aplicativos (arquivos .exe) do shell.

Depois de criar um novo domínio do aplicativo, um host pode especificar a diretiva seja aplicada ao código dentro do domínio do aplicativo.Esta diretiva é sempre sujeitos à diretiva de empresa, computador e usuário.Um host pode reduzir o conjunto de permissões que a diretiva de computador e usuário permite mas não é possível expandi-la.Diretiva pode ser conjunto somente uma vez para um domínio do aplicativo.Para conjunto a diretiva de domínio do aplicativo, o host deve receber a permissão de segurança (fornecida por meio de SecurityPermission classe) para a diretiva de domínio controlar.

Depois que diretiva de domínio do aplicativo é definida, todos os assemblies carregados, em seguida, recebem permissões concedidas sob a nova diretiva (empresa, computador, usuário e diretiva de domínio do aplicativo).Anteriormente assemblies carregados obtém concessões de permissão sob a diretiva de pré-existente (apenas diretiva de empresa, computador e usuário).As permissões concedidas para esses assemblies não são reavaliadas sob a nova diretiva de domínio do aplicativo.

Um host confiável pode fornecer informações (provas) para o tempo de execução sobre assemblies são carregados no domínio do aplicativo.Se um host de domínio não tiver o apropriado SecurityPermission para controlar a evidência, o tempo de execução usa a segurança aplicada no host para determinar a segurança para aplicar no conjunto de módulos (assembly).

Em algumas situações, evidência que normalmente devem ser fornecida por um host de domínio de aplicativo confiável, na verdade, é fornecida pelo carregador.Normalmente, após a criação de um domínio de aplicativo, o host de domínio de aplicativo carrega o primeiro conjunto (principal) no domínio de aplicativo e chamadas para esse assembly para iniciar a execução.Quando código no primeiro conjunto faz referência a código em outro assembly, o carregador resolve a referência, carrega o assembly apropriado para o domínio do aplicativo e fornece evidência sobre o assembly para o tempo de execução.Nessa situação, o host de domínio de aplicativo confiável que forneceu a evidência do assembly original não fornece evidências para módulos (assemblies) carregados posteriormente.

Consulte também

Referência

System.AppDomain

Outros recursos

Gerenciamento de política de segurança