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
Executar código em outro domínio de aplicativo (C# e Visual Basic)
Como: Criar e usar um domínio de aplicativo (C# e Visual Basic)
Consulte também
Conceitos
Assemblies e o Cache de Assembly Global (C# e Visual Basic)