Programação com domínios de aplicativo

Domínios de aplicativo são geralmente criados e manipulados programaticamente por hosts de tempo de execução.Entretanto, algumas vezes uma programação de aplicativo também pode querer trabalhar com domínios de aplicativo.Por exemplo, uma programação de aplicativo pode carregar um componente do aplicativo em um domínio para poder descarregar o domínio (e o componente) sem precisar interromper o aplicativo inteiro.

A Classe AppDomain é a interface programática para domínios de aplicativos.Essa classe inclui métodos para criar e descarregar domínios, para criar instâncias de tipos em domínios, e para registrar para várias notificações como descarregar domínio do aplicativo.A tabela a seguir lista métodos comumente usados AppDomain.

AppDomain Method

Descrição

CreateDomain

Cria um novo domínio do aplicativo.É recomendável que você use uma sobrecarga desse método que especifica um objeto AppDomainSetup.Essa é a maneira preferencial para definir as propriedades de um novo domínio, como a base do aplicativo, ou o diretório raiz para o aplicativo; a localidade do arquivo de configuração para o domínio; e o caminho de pesquisa que o Common Language Runtime está, a ser utilizado para carregar assemblies para dentro do domínio.

ExecuteAssembly e ExecuteAssemblyByName

Executa um Assembly no domínio do aplicativo.Este é um método de instância, então ele pode ser usado para executar código em outro domínio do aplicativo ao qual você tem uma referência.

CreateInstanceAndUnwrap

Cria uma instância de um tipo especificado no domínio do aplicativo, e retorna um proxy.Use este método para evitar carregar o assembly contendo o tipo criado para o assembly da chamada.

Unload

Executa um desligamento elegante do domínio.O domínio do aplicativo não é descarregado até que todos os segmentos em execução em um domínio tiverem sido interrompidos ou não estiverem mais no domínio.

Observação:

O common linguagem tempo de execução não oferece suporte a serialização dos métodos global, portanto, delegados não podem ser usados para executar métodos global de outros domínios de aplicativo .

As interfaces não gerenciadas descritas no Common Language Runtime Hosting Interfaces Specification também fornecem acesso a domínios de aplicativo.Hosts em tempo de execução podem usar interfaces do código não gerenciado para criar e obter acesso para os domínios do aplicativo dentro de um processo.

Consulte também

Referência

AppDomain

Métodos AppDomain

Outros recursos

Domínios de aplicativo