Update to IHost

- Return IHost from CreateHostBuilder
- Register AutoFac with UseServiceProviderFactory() in CreateHostBuilder
This commit is contained in:
Miguel Veloso 2019-12-18 12:34:18 +00:00
parent 28b8a5e97a
commit 49358ae70b
2 changed files with 12 additions and 20 deletions

View File

@ -1,28 +1,27 @@
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Ordering.BackgroundTasks.Extensions;
using Ordering.BackgroundTasks.Tasks;
using Serilog;
using System.IO;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Ordering.BackgroundTasks.Extensions;
using Serilog;
using System.IO;
namespace Ordering.BackgroundTasks
{
public class Program
{
public static readonly string Namespace = typeof(Program).Namespace;
public static readonly string AppName = Namespace;
public static readonly string AppName = typeof(Program).Assembly.GetName().Name;
public static void Main(string[] args)
{
CreateHostBuilder(args).Run();
}
public static IWebHost CreateHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
public static IHost CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>())
.ConfigureAppConfiguration((host, builder) =>
{
builder.SetBasePath(Directory.GetCurrentDirectory());
@ -32,7 +31,6 @@ namespace Ordering.BackgroundTasks
builder.AddCommandLine(args);
})
.ConfigureLogging((host, builder) => builder.UseSerilog(host.Configuration).AddSerilog())
.UseStartup<Startup>()
.Build();
}
}

View File

@ -21,19 +21,13 @@
public IConfiguration Configuration { get; }
public virtual IServiceProvider ConfigureServices(IServiceCollection services)
public virtual void ConfigureServices(IServiceCollection services)
{
services.AddCustomHealthCheck(this.Configuration)
.Configure<BackgroundTaskSettings>(this.Configuration)
.AddOptions()
.AddHostedService<GracePeriodManagerService>()
.AddEventBus(this.Configuration)
.AddAutofac(container => container.Populate(services));
var container = new ContainerBuilder();
container.Populate(services);
return new AutofacServiceProvider(container.Build());
.AddEventBus(this.Configuration);
}