static void Main(string[] args) { Console.WriteLine("Carregando configurações..."); var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile($"appsettings.json"); var configuration = builder.Build(); _configurations = new ServiceConfigurations(); new ConfigureFromConfigurationOptions <ServiceConfigurations>( configuration.GetSection("ServiceConfigurations")) .Configure(_configurations); // Configura o timer para execução do ping e inicia // sua execução imediata _timer = new Timer( callback: TimerElapsed, state: null, dueTime: 0, period: _configurations.Intervalo); // Tratando o encerramento da aplicação com // Control + C ou Control + Break Console.CancelKeyPress += (o, e) => { Console.WriteLine("Saindo..."); // Libera a continuação da thread principal waitHandle.Set(); }; // Aguarda que o evento CancelKeyPress ocorra waitHandle.WaitOne(); }
static void Main(string[] args) { Console.WriteLine("Carregando configurações..."); var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile($"appsettings.json"); var configuration = builder.Build(); _configurations = new ServiceConfigurations(); new ConfigureFromConfigurationOptions <ServiceConfigurations>( configuration.GetSection("ServiceConfigurations")) .Configure(_configurations); var serviceProvider = new ServiceCollection() .AddLogging() .AddTransient <ICBLCRepositorio, CBLCRepositorio>() .AddTransient <ICBLCService, ServicoCBLC>() .BuildServiceProvider(); //configure console logging serviceProvider .GetService <ILoggerFactory>(); var logger = serviceProvider.GetService <ILoggerFactory>() .CreateLogger <Program>(); logger.LogDebug("Starting application"); IWorker <ItemCadastro> s = new Worker <ItemCadastro>(serviceProvider.GetService <ICBLCService>(), _configurations.Intervalo, logger); logger.LogDebug("All done!"); }
public DisponibilidadeRepository( ServiceConfigurations configurations) { _client = new MongoClient( configurations.LogDatabase); _db = _client.GetDatabase("DBMonitoramento"); _disponibilidade = _db.GetCollection <ResultadoMonitoramento>("Disponibilidade"); }