fork download
  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. }
Success #stdin #stdout 0.38s 36704KB
stdin
Standard input is empty
stdout
Creando un nuevo AppDomain:
Dominio anfitrión: prog.exe
Dominio huésped: NuevoDominio


Dominio anfitrión: prog.exe
System.AppDomainUnloadedException
El dominio de aplicación `dominio` no existe.