Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // ===++===
  2. //
  3. //    OrtizOL
  4. //
  5. // ===--===
  6. /*============================================================
  7. //
  8. // Clase: DescargaAppDomain.cs
  9. //
  10. // Propósito: Descarga de un dominio de aplicación.
  11. //
  12. ============================================================*/
  13.  
  14. using System;
  15. using System.Reflection;
  16.  
  17. namespace Recetas.Cap03
  18. {
  19.     internal class DescargaAppDomain
  20.     {
  21.         public static void Main()
  22.         {
  23.             Console.WriteLine("\nCreando un nuevo AppDomain:");
  24.             AppDomain dominio = AppDomain.CreateDomain("NuevoDominio");
  25.            
  26.             Console.WriteLine("Dominio anfitrión: {0}", AppDomain.CurrentDomain.FriendlyName.ToString());
  27.             Console.WriteLine("Dominio huésped: {0}\n", dominio.FriendlyName.ToString());
  28.            
  29.             // Descargamos del proceso el dominio `dominio`:
  30.             AppDomain.Unload(dominio);
  31.            
  32.             // Intentamos varias operaciones después de descargado:
  33.             try
  34.             {
  35.                 Console.WriteLine();
  36.                 Console.WriteLine("Dominio anfitrión: {0}", AppDomain.CurrentDomain.FriendlyName.ToString());
  37.                
  38.                 // Esta sentencia genera la excepción AppDomainUnloadedException, debido
  39.                 // a que el dominio ya fue descargado:
  40.                 Console.WriteLine("Dominio huésped: {0}\n", dominio.FriendlyName.ToString());
  41.             }
  42.             catch(AppDomainUnloadedException e)
  43.             {
  44.                 Console.WriteLine(e.GetType().FullName.ToString());
  45.                 Console.WriteLine("El dominio de aplicación `dominio` no existe.");
  46.             }
  47.            
  48.             Console.WriteLine();
  49.         }
  50.     }
  51. }