Compartilhar via


Criando e Configurando aplicativo domínios

Depois de um host tiver determinado onde estão os limites do domínio, com base nos critérios descritos na seção anterior, o host o utiliza o CreateDomain método do System.AppDomain tipo para criar domínios para execução de código do usuário. Cada domínio do aplicativo contém uma coleção de pares nome/valor no qual um host pode armazenar informações sobre um domínio.sistema autônomo pares nome/valor são passados sistema autônomo um parâmetro para CreateDomain.

O .NET estrutura define várias propriedades que são compreendidos nativamente pelo tempo de execução.Os nomes dessas propriedades são definidos pelas seqüências estáticas no classe sistema.AppDomain.Um host pode conjunto as propriedades nativamente compreendidas para personalizar o domínio do aplicativo.Por exemplo, essas propriedades podem controlar a maneira na qual código sendo executado em domínios diferentes é isolado.Os pares nome/valor podem ser estendidos para que hosts podem definir propriedades personalizadas nas quais poderem armazenar informações específicas para seu cenário.

Em geral, o isolamento fornecido por domínios de aplicativo tem duas formas:

  • Domínios de aplicativo impede que o código em execução no domínio de um aplicativo afetem outros domínios, impedindo que os tipos em um domínio vejam e chamando tipos em outros domínios.Domínios de aplicativos dependem do fato de que o código foi verificado para se proteger contra falhas de memória.

  • Os controles de host em que o tempo de execução localiza o código para carregar em um domínio do aplicativo em particular em seu nome.Isso é importante porque ele impede que o código de um aplicativo inadvertidamente afetar outros aplicativos.A capacidade de solicitações de escopo para carregar código dessa maneira difere significativamente da maneira em que Microsoft Win32 e COM atualmente trabalham.Atualmente, no Windows, o escopo de resolução é todo o computador sistema autônomo qualquer aplicativo pode usar qualquer código descrito no registro ou colocado em um local conhecido sistema autônomo o diretório de sistema do Windows.No momento é o padrão de compartilhamento dessa maneira, e esse comportamento contribui para conflitos de DLL.

Juntamente com o estabelecimento de um escopo para a forma em que o código é ser carregado, também é importante para as informações de configuração de escopo para um aplicativo.No entanto, isso não é possível no momento para várias definições de configuração.

Por exemplo, se você configurar um computador remoto no qual executar uma classe COM, a configuração do RemoteServerName chave do registro para uma determinada classe afeta todos os aplicativos que usam essa classe.Semelhante ao compartilhamento não intencionais de código, o compartilhamento não intencionais de dados de configuração impede que um aplicativo controlar completamente seu próprio comportamento.

The sistema.AppDomainFlags.ApplicationBase and sistema.AppDomainFlags.ConfigurationFile propriedades, respectivamente, controlam a capacidade de especificar os diretórios em que o tempo de execução procura por módulos (assemblies) e escopos as definições de configuração de um domínio do aplicativo específico por.

ApplicationBase estabelece um diretório raiz para o domínio do aplicativo, em que o tempo de execução procura por conjuntos privados.Se um host permite que os assemblies sejam carregados do disco, ele deverá fornecer um ApplicationBase para que o tempo de execução saiba onde procurar por assemblies carregados.

The ConfigurationFile propriedade especifica o nome de um arquivo XML que contém as configurações usadas para configurar o aplicativo em execução no domínio do aplicativo.Regras de controle de versão do assembly e as instruções para localização de tipos que podem ser acessados remotamente por tipos em execução no domínio do aplicativo são exemplos de configurações no arquivo de configuração do aplicativo.

Para obter descrições das outras propriedades disponível para configurar um domínio do aplicativo, consulte a documentação para o AppDomain classe.

Observação de segurança O valor padrão para o AppDomainSetup.DisallowCodeDownload propriedade é False.Essa configuração não é seguro para serviços.Para ajudar a impedir que serviços Baixando código parcialmente confiável, defina esta propriedade como True.

Consulte também

Referência

AppDomain

Outros recursos

Hospedagem do Common Language Runtime