public static async Task Main(string[] args) { var applicationTokenSource = new ApplicationWideCancellationTokenSource(new CancellationTokenSource()); Log.Logger = new LoggerConfiguration() .WriteTo.LiterateConsole( outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {Message} ({SourceContext:l}){NewLine}{Exception}") .CreateLogger(); await CreateHostBuilder(args, applicationTokenSource).Build().RunAsync(applicationTokenSource.TokenSource.Token); }
private static IHostBuilder CreateHostBuilder(string[] args, ApplicationWideCancellationTokenSource tokenSource) => Host.CreateDefaultBuilder(args) .UseServiceProviderFactory(new AutofacServiceProviderFactory()) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <Startup>(); }) .ConfigureHostConfiguration(configurationBuilder => { configurationBuilder .AddInMemoryCollection(new[] { new KeyValuePair <string, string>( HostDefaults.EnvironmentKey, Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")), }) .AddEnvironmentVariables(); }) .ConfigureServices((context, services) => { services.AddSingleton(tokenSource); }) .ConfigureContainer <ContainerBuilder>((context, builder) => { AutofacConfigurator.Configure(context.Configuration, builder); });