public class Startup
{
private static IServiceProvider _serviceProvider;
public IContainer ApplicationContainer { get; private set; }
IConfigurationRoot Configuration { get; }
public Startup()
{
IConfigurationBuilder builder = new Microsoft.Extensions.Configuration.ConfigurationBuilder();
Configuration = builder.Build();
}
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IConfigurationRoot>(Configuration);
services
.AddLogging(loggingBuilder =>
{
loggingBuilder.ClearProviders();
loggingBuilder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
loggingBuilder.AddNLog(Configuration);
LogManager.Setup().LoadConfigurationFromFile("nlog.config");
});
services.AddSingleton(provider => Configuration);
var builder = new ContainerBuilder();
builder.Populate(services);
var appContainer = builder.Build();
_serviceProvider = new AutofacServiceProvider(appContainer);
}
}