Exemple #1
0
 protected override void OnStart(string[] args)
 {
     try
     {
         log.Info("Initiating on start");
         var catalog = new AggregateCatalog(
             new AssemblyCatalog(Assembly.GetExecutingAssembly()), new DirectoryCatalog("extensions"));
         log.Info("Getting container");
         var container = new CompositionContainer(catalog);
         log.Info("instance plugins");
         var plugins = new Plugins();
         log.Info("get compose parts");
         container.ComposeParts(plugins);
         plugins.Initialize();
         while (true)
         {
             log.Info("Plugin analyze");
             plugins.Analyze();
             Thread.Sleep(60000);
         }
     }
     catch (Exception ex)
     {
         log.ErrorFormat("error : {0}", ex.Message);
     }
 }
        static void Main(string[] args)
        {
            var catalog = new AggregateCatalog(
                new AssemblyCatalog(Assembly.GetExecutingAssembly()), new DirectoryCatalog("extensions"));
            var container = new CompositionContainer(catalog);
            var plugins   = new Plugins();

            container.ComposeParts(plugins);
            plugins.Analyze();
            Console.ReadLine();
        }