protected override void DoHostInternal(object context) { // выставим среду, если указана var env = Context.Get(ConfigBase.EnvironmentParam); ConfigurationManager.AppSettings["BLToolkit.DefaultConfiguration"] = string.IsNullOrEmpty(env) ? "DEV" : env; // явно инициализируем Oracle - чтобы не было ни каких накладок BLHelper.InitBL(dalType: DALType.Oracle); // аутентифицируемся var auth = IoC.Instance.Resolve <IAuthenticationProvider>(); auth.Authenticate(ConfigurationManager.AppSettings["Login"], ConfigurationManager.AppSettings["Password"]); // запрашиваем данные сразу BLHelper.FillInitialCaches(); FreeScheduler(); _scheduler = new EpsScheduler(); FreeTimer(); _timer = new Timer(Tick); _date0 = DateTime.Now; Log.Info("Service was initialized"); _timer.Change(0, _timerPeriod); // стартуем сразу, а потом через период Log.Info("Service was started"); }
private void FreeScheduler() { if (_scheduler == null) { return; } _scheduler.Dispose(); _scheduler = null; }