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

View File

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