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!");
        }
Example #3
0
 public DisponibilidadeRepository(
     ServiceConfigurations configurations)
 {
     _client = new MongoClient(
         configurations.LogDatabase);
     _db = _client.GetDatabase("DBMonitoramento");
     _disponibilidade =
         _db.GetCollection <ResultadoMonitoramento>("Disponibilidade");
 }