// ===++===
//
// OrtizOL
//
// ===--===
/*============================================================
//
// Clase: DescargaAppDomain.cs
//
// Propósito: Descarga de un dominio de aplicación.
//
============================================================*/
using System;
using System.Reflection;
namespace Recetas.Cap03
{
internal class DescargaAppDomain
{
public static void Main()
{
Console.WriteLine("\nCreando un nuevo AppDomain:");
AppDomain dominio = AppDomain.CreateDomain("NuevoDominio");
Console.WriteLine("Dominio anfitrión: {0}", AppDomain.CurrentDomain.FriendlyName.ToString());
Console.WriteLine("Dominio huésped: {0}\n", dominio.FriendlyName.ToString());
// Descargamos del proceso el dominio `dominio`:
AppDomain.Unload(dominio);
// Intentamos varias operaciones después de descargado:
try
{
Console.WriteLine();
Console.WriteLine("Dominio anfitrión: {0}", AppDomain.CurrentDomain.FriendlyName.ToString());
// Esta sentencia genera la excepción AppDomainUnloadedException, debido
// a que el dominio ya fue descargado:
Console.WriteLine("Dominio huésped: {0}\n", dominio.FriendlyName.ToString());
}
catch(AppDomainUnloadedException e)
{
Console.WriteLine(e.GetType().FullName.ToString());
Console.WriteLine("El dominio de aplicación `dominio` no existe.");
}
Console.WriteLine();
}
}
}