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.