Dominios de aplicación (Guía de programación de C#)

Actualización: noviembre 2007

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 generado previamente, HelloWorld.exe, que se encuentra en el disco 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);
}

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é de ensamblados global (Guía de programación de C#).

  • 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

Especificación del lenguaje C#

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

  • 3.1 Inicio de aplicación

Vea también

Conceptos

Guía de programación de C#

Referencia

Ensamblados y Caché de ensamblados global (Guía de programación de C#)