Exemplo n.º 1
0
        /// <summary>
        /// Effettua l'inizializzazione del modulo
        /// </summary>
        private void ModuleInitialization()
        {
            if (ModuleInitialized)
            {
                return;
            }

            try
            {
                // Imposto il resolver
                FileLogger.Debug(Name,
                                 String.Format("Inizializzazione Thread su AppDomain {0}", AppDomain.CurrentDomain.FriendlyName));
                AppDomain.CurrentDomain.AssemblyResolve +=
                    (s, a) => OnCurrentDomainAssemblyResolve(a, ConfigurationModule);

                // Creo la classe principale del modulo (tutte le successive richieste di dll saranno gestite dall'apposito metodo)
                JeepModule = Tools.ModuleBuilder(ConfigurationModule.FullAssemblyPath, ConfigurationModule.Class,
                                                 ConfigurationModule.Parameters, ConfigurationModule.Id);

                String useProfiler = ConfigurationManager.AppSettings["NHProfiler"];
                bool   profiler;
                if (!string.IsNullOrEmpty(useProfiler) && bool.TryParse(useProfiler, out profiler) && profiler)
                {
                    NHibernateProfiler.Initialize();
                    FileLogger.Debug(Name, String.Format("Profiler agganciato al modulo {0}.", Name));
                }

                // Inizializzo il modulo
                FileLogger.Info(Name, String.Format("Inizializzazione modulo {0} in corso....", Name));
                JeepModule.Initialize(ConfigurationModule.Parameters);

                ModuleInitialized = true;
                FileLogger.Info(Name, String.Format("Modulo {0} correttamente inizializzato.", Name));

                // Genero e attivo il timer di riferimento
                Timers.Add(Name, new Timer(OnTimerCallback, Timer, Timer.Duetime, Timer.Period));
            }
            catch (Exception ex)
            {
                FileLogger.Error(Name,
                                 String.Format("Rilevato errore su AppDomain {0} - Stacktrace: {1}", AppDomain.CurrentDomain.FriendlyName, ex.StackTrace), ex);
                Stop();
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Metodo richiamato dal timer principale
 /// </summary>
 private void DoWork()
 {
     // Esecuzione del DoWork del modulo
     JeepModule.DoWork();
 }