0
我有一個多層體系結構C#項目,我不想從演示文稿添加對我的DAL層的引用,所以我需要在運行時注入ApplicationDbContext用於標識,對於這種方法,我在業務層爲此寫了一個擴展方法。 (表示層具有參考業務層),並加入startup.cs下面這個方法:注入ApplicationDbContext在多層項目中使用Aspnet核心標識
public static IdentityBuilder AddDbContext(this IdentityBuilder builder, IServiceCollection services, string connStr)
{
services.AddTransient<ApplicationDbContext>(_ => new ApplicationDbContext(connStr));
builder.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
return builder;
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddDbContext(services, Configuration.GetConnectionString("DefaultConnection"));
services.AddMvc();
// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
}
但是,當我跑我的應用程序,它試圖在崩潰跑步。
錯誤頁面如下: