static void Main(string[] args) { var logger = LoggerModule.GetLogger(); try { logger.Info("Приложение запущено"); // Собираем контейнер. var builder = new ContainerBuilder(); builder.RegisterModule <LoggerModule>(); builder.RegisterModule <ApartmentsMonitorServiceModule>(); var container = builder.Build(); // Запускаем. container.Resolve <ApartmentsMonitorWorker>().Start(); // Ожидаем завершения приложения. ManualResetEvent resetEvent = new ManualResetEvent(false); resetEvent.WaitOne(); container.Dispose(); logger.Info("Работа приложения завершена"); } catch (Exception ex) { logger.Error("Произошла ошибка во время работы приложения", ex); throw; } }
protected override void Load(ContainerBuilder builder) { builder.RegisterInstance(LoggerModule.GetLogger()).As <ILogger>(); builder.RegisterType <MainWindow>().AsSelf(); builder.RegisterType <MainWindowViewModel>().AsSelf(); builder.RegisterType <MapViewModel>().AsSelf(); builder.RegisterType <RegionsService>().AsSelf(); builder.RegisterType <ApartmentService>().AsSelf(); builder.RegisterType <ApplicationContextProvider>().As <IDatabaseContextProvider>(); var config = RegisterOptions(builder); if (config.UseOriginalProvider) { builder.RegisterType <AvitoApartmentsProvider>().As <IApartmentsProvider>(); } else { builder.RegisterType <DatabaseApartmentsProvider>().As <IApartmentsProvider>(); } }
static void Main(string[] args) { _logger = LoggerModule.GetLogger(); _logger.Info("Приложение запущено!"); try { ISettingsService <CashlogSettings> settingsService = new CashlogSettingsService(); var config = settingsService.ReadSettings(); if (string.IsNullOrEmpty(config.TelegramBotToken)) { throw new InvalidOperationException($"Поле `{nameof(config.TelegramBotToken)}` в конфиге пустое"); } WorkOn(); _logger.Info("Приложение завершило свою работу"); } catch (Exception ex) { _logger.Error("Во время работы приложения произошла ошибка", ex); throw; } }