Partilhar via


Domínios de aplicativo (guia de programação C#)

Domínios de aplicativo oferecem um método flexível e seguro de isolar aplicativos em execução.

Domínios de aplicativo normalmente são criados e manipulados por hosts de time de execução.Ocasionalmente, convém seu aplicativo para interagir programaticamente com seus domínios de aplicativo, por exemplo, para descarregar um componente sem ter que parar a execução do aplicativo.

Domínios de aplicativo auxiliam a segurança, separar aplicativos de dados e Outros.Um único processo pode executar vários domínios de aplicativo, com o mesmo nível de isolamento que deve existir em processos separados.Execução de vários aplicativos em um único processo aumenta a escalabilidade do servidor.

O exemplo de código a seguir, você cria um novo domínio do aplicativo e, em seguida, carrega e executar um assembly criado anteriormente, HelloWorld.exe, ou seja armazenada na unidade C.

static void Main()
{
    // Create an Application Domain:
    System.AppDomain newDomain = System.AppDomain.CreateDomain("NewApplicationDomain");

    // Load and execute an assembly:
    newDomain.ExecuteAssembly(@"c:\HelloWorld.exe");

    // Unload the application domain:
    System.AppDomain.Unload(newDomain);
}

Visão Geral Sobre Domínios de Aplicativos

Domínios de aplicativo têm as seguintes propriedades:

  • Um assembly deve ser carregado em um domínio do aplicativo antes que seja executado.Para obter mais informações, consulte Conjuntos e (guia de programação C#) no cache do conjunto de módulos (assembly) global.

  • Falhas no domínio de um aplicativo não podem afetar Outros código em execução no Outros domínio do aplicativo.

  • Aplicativos individuais podem ser interrompidos e código foi descarregado sem interromper o processo inteiro.Você não pode descarregar assemblies individuais ou tipos, domínios de aplicativo somente inteiro.

Seções relacionadas

Especificação da linguagem C#

Para obter mais informações, consulte as seções a seguir no Especificação da linguagem C#:

  • 3.1 Inicialização de aplicativo

Consulte também

Conceitos

Guia de Programação C#

Referência

Conjuntos e (guia de programação C#) no cache do conjunto de módulos (assembly) global