Не удается разрешить службу для типа "" при попытке активировать " - PullRequest
0 голосов
/ 17 сентября 2018

Я создаю проект на Core 2.0, и я застрял в последние 2 дня на внедрении зависимостей. Ниже мой код -

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddTransient<IAccountBAL, AccountBAL>();
}

public interface IAccountBAL
{
    Task CreateSuperAdmin();
}

public class AccountBAL:IAccountBAL
{
    private ApplicationDbContext _connection;
    private readonly RoleManager<IdentityRole> _roleManager;
    private readonly SignInManager<ApplicationUser> _signInManager;
    private readonly UserManager<ApplicationUser> _userManager;
    public AccountBAL(ApplicationDbContext connection, RoleManager<IdentityRole> roleManager, SignInManager<ApplicationUser> signInManager, UserManager<ApplicationUser> userManager)
    {
        _connection = connection;
        _roleManager = roleManager;
        _signInManager = signInManager;
        _userManager = userManager; 
    }
    public async Task CreateSuperAdmin()
    {
        //My Code  
    }
}

Но когда я запускаю свой проект, я получаю сообщение об ошибке Не удается разрешить службу для типа 'DALUser.Data.ApplicationDbContext' при попытке активировать 'UserAuth.BAL.AccountBAL' . Но когда я удаляю IAccountBAL _iAccountBAL из следующего кода, это работает. Но мне нужно передать эту зависимость.

public void Configure(IApplicationBuilder app, IHostingEnvironment env, IAccountBAL _iAccountBAL)
{

}

1 Ответ

0 голосов
/ 17 сентября 2018

В вашем Startup классе вам необходимо зарегистрировать ваш DbContext следующим образом:

public void ConfigureServices(IServiceCollection services)
{
    // ... 
    services.AddDbContext<ApplicationDbContext>(options =>
    {
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
    });
    // ...
}

Вот пример регистрации пользовательских Identity на основе DbContext.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...