// ===++=== // // 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(); } } }