Enable validate scopes in dependency injection (#783)

This commit is contained in:
Pavel Krymets 2017-04-26 14:53:26 -07:00 committed by GitHub
parent 93012e66a0
commit 7787e963dd
2 changed files with 9 additions and 5 deletions

View File

@ -19,16 +19,17 @@ namespace MusicStore.Models
public static async Task InitializeMusicStoreDatabaseAsync(IServiceProvider serviceProvider, bool createUsers = true)
{
using (var serviceScope = serviceProvider.GetRequiredService<IServiceScopeFactory>().CreateScope())
using (var serviceScope = serviceProvider.CreateScope())
{
var db = serviceScope.ServiceProvider.GetService<MusicStoreContext>();
var scopeServiceProvider = serviceScope.ServiceProvider;
var db = scopeServiceProvider.GetService<MusicStoreContext>();
if (await db.Database.EnsureCreatedAsync())
{
await InsertTestData(serviceProvider);
await InsertTestData(scopeServiceProvider);
if (createUsers)
{
await CreateAdminUser(serviceProvider);
await CreateAdminUser(scopeServiceProvider);
}
}
}

View File

@ -19,7 +19,10 @@ namespace MusicStore
.UseContentRoot(Directory.GetCurrentDirectory())
.UseConfiguration(config)
.UseIISIntegration()
.UseStartup("MusicStore");
.UseStartup("MusicStore")
.UseDefaultServiceProvider((context, options) => {
options.ValidateScopes = true;
});
if (string.Equals(builder.GetSetting("server"), "Microsoft.AspNetCore.Server.HttpSys", System.StringComparison.Ordinal))
{