Created
May 29, 2014 20:57
-
-
Save Fhernd/82043e67ff4dbcd8f1d9 to your computer and use it in GitHub Desktop.
Uso recurso de carga de assembly en C#.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ===++=== | |
// | |
// OrtizOL | |
// | |
// ===--=== | |
/*============================================================ | |
// | |
// Clase: EjecucionRecursivaAssembly.cs | |
// | |
// Propósito: Uso recurso de carga de assembly. | |
// | |
============================================================*/ | |
using System; | |
namespace Recetas.Cap03 | |
{ | |
public class EjecucionRecursivaAssembly | |
{ | |
public static void Main(string[] args) | |
{ | |
Console.WriteLine(); | |
// Esta condición evita que la aplicación se ejecute | |
// en un ciclo infinito. La primera vez que se carga | |
// valida la existencia de del dominio de aplicación | |
// `Nuevo dominio`, sino existe, entonces lo crea. | |
// En caso contrario muestra el contenido del arreglo | |
// del método `Main`: | |
if (!AppDomain.CurrentDomain.FriendlyName.ToString().Equals("Nuevo dominio")) | |
{ | |
// Aquí se crea el nuevo dominio: | |
AppDomain domain = AppDomain.CreateDomain("Nuevo dominio"); | |
// Ejecute este mismo assembly en el nuevo dominio: | |
domain.ExecuteAssembly(@"C:\shared\EjecucionRecursivaAssembly.exe", args); | |
} | |
// Muestra el contenido del arreglo `args`: | |
foreach (string argumento in args) | |
{ | |
Console.WriteLine("Nombre AppDomain: `{0}` - Argumento: `{1}`", | |
AppDomain.CurrentDomain.FriendlyName.ToString(), | |
argumento); | |
} | |
// Finala la aplicación siempre y cuando el | |
// nombre del dominio no sea igual al nuevo: | |
if (!AppDomain.CurrentDomain.FriendlyName.ToString().Equals("Nuevo dominio")) | |
{ | |
Console.WriteLine(); | |
Console.WriteLine("\nPresione `Enter` para finalizar."); | |
Console.ReadLine(); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment