Domínios de aplicativo (C# e Visual Basic)

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

Domínios de aplicativo são geralmente criados e manipulados por hosts de tempo de execução. Ocasionalmente, talvez você queira que seu aplicativo para interagir programaticamente com os seus domínios de aplicativo, por exemplo, para descarregar um componente sem interromper a execução do seu aplicativo.

Domínios de aplicativo auxiliam a segurança, separando os aplicativos uns dos outros e dos outros dados. 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.

No exemplo de código a seguir, você criar um novo domínio de aplicativo e, em seguida, carregar e executar um assembly compilado anteriormente, HelloWorld.exe, que é armazenado na unidade c.

' Create an Application Domain:
Dim newDomain As System.AppDomain = System.AppDomain.CreateDomain("NewApplicationDomain")

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

' Unload the application domain:
System.AppDomain.Unload(newDomain)
// 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 de aplicativo antes que ele pode ser executado. Para obter mais informações, consulte Assemblies e o Cache de Assembly Global (C# e Visual Basic).

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

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

Seções relacionadas

Consulte também

Conceitos

Guia de Programação C#

Domínios de Aplicativo

Assemblies e o Cache de Assembly Global (C# e Visual Basic)

Outros recursos

Guia de programação Visual Basic 

Programação com Domínios de Aplicativos e Assemblies