public static IHostBuilder UseServiceBaseLifetime(this IHostBuilder hostBuilder)
 {
     return(hostBuilder
            .ConfigureAppConfiguration((hostContext, config) =>
     {
         config.AddEnvironmentVariables("ADSync_");
     })
            .ConfigureServices((hostContext, services) =>
     {
         services.AddSingleton <IHostLifetime, ServiceBaseLifetime>();
         WorkerService.ConfigurarDependencias(hostContext.Configuration, services, true);
         WorkerService.Configurar(hostContext.Configuration, services);
     }));
 }
Exemple #2
0
        static async Task Main(string[] args)
        {
            var asService = !(Debugger.IsAttached || args.Contains("--console"));

            IHostBuilder builder;

            if (asService)
            {
                builder = new HostBuilder()
                          .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService <WorkerService>();
                });
            }
            else
            {
                builder = new HostBuilder()
                          .ConfigureAppConfiguration((hostContext, config) =>
                {
                    config.AddEnvironmentVariables("ADSync_");
                })
                          .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService <WorkerService>();
                    WorkerService.ConfigurarDependencias(hostContext.Configuration, services);
                    WorkerService.Configurar(hostContext.Configuration, services);
                });
            }

            builder.UseEnvironment(asService ? Environments.Production : Environments.Development);

            if (asService)
            {
                await builder.RunAsServiceAsync();
            }
            else
            {
                await builder.RunConsoleAsync();
            }
        }