Share via


Dominios de aplicación (C# y Visual Basic)

Los dominios de aplicación proporcionan un método flexible y seguro para aislar aplicaciones en ejecución.

Normalmente, los dominios de aplicación se crean y manipulan mediante hosts en tiempo de ejecución. Es posible que, ocasionalmente, la aplicación interactúe mediante programación con los dominios de aplicación, por ejemplo, para descargar un componente sin tener que detener la aplicación que se está ejecutando.

Los dominios de aplicación ayudan a mejorar la seguridad separando las aplicaciones y sus correspondientes datos. Un proceso único puede ejecutar varios dominios de aplicación con el mismo nivel de aislamiento que existiría en procesos independientes. Al ejecutar varias aplicaciones dentro de un proceso único, se aumenta la escalabilidad del servidor.

En el siguiente ejemplo de código, cree un nuevo dominio de aplicación y, a continuación, cargue y ejecute un ensamblado compilado previamente, HelloWorld.exe, que se encuentra en el disco 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);

Información general sobre dominios de aplicación

Los dominios de aplicación tienen las siguientes propiedades:

  • Para poder ejecutar un ensamblado, éste debe cargarse antes en un dominio de aplicación. Para obtener más información, vea Ensamblados y caché global de ensamblados (C# y Visual Basic).

  • Los errores de un dominio de aplicación no pueden afectar al código que se esté ejecutando en otro dominio de aplicación.

  • Es posible detener aplicaciones individuales y descargar el código sin detener todo el proceso. No puede descargar ensamblados o tipos individuales, sólo dominios de aplicación completos.

Secciones relacionadas

Vea también

Conceptos

Guía de programación de C#

Dominios de aplicación

Ensamblados y caché global de ensamblados (C# y Visual Basic)

Otros recursos

Guía de programación en Visual Basic

Programar con dominios de aplicación y ensamblados