No service for type has been registered
Я полный новичок в ASP.NET и только разбираюсь с внедрением зависимостей, поэтому, скорее всего, моя ошибка очевидна, но все же я не понимаю, что именно не так. В моем проекте есть класс StartCommand
, в котором используется некая реализация интерфейса IUserService
. При попытке получить UserService
, я получаю ошибку отсутствия регистрации сервиса, хотя, вроде как, я его зарегистрировал.
Program.cs
:
builder.Services.AddDbContext<DataContext>(opt => opt.UseSqlite(connectionString), ServiceLifetime.Singleton);
builder.Services.AddTransient<IUserService, UserService>();
builder.Services.AddTransient<ICommand, StartCommand>();
StartCommand
:
private readonly IUserService userService;
public StartCommand(IServiceProvider serviceProvider)
{
userService = serviceProvider.GetRequiredService<UserService>(); <- Ошибка возникает тут
}
...
IUserService
:
Task<AppUser?> GetUserAsync(Update update);
Task<bool> DeliteUserAsync(Update update);
Task<RegistratingStatus> RegistratingUserAsync(Update update);
UserService
:
private readonly DataContext database;
public UserService(DataContext data)
{
database = data;
}
...