Моя ошибка
InvalidOperationException: Unable to resolve service for type 'KTS.BLL.Interfaces.ITestService' while attempting to activate 'KTS.WEBAPI.Controllers.TestsController'.
У меня есть приложение с 3-х уровневой архитектурой. TestController находится на уровне API, ITestService и TestService находятся в BLL.
TestController
[ApiController]
public class TestsController : ControllerBase
{
private readonly ITestService _testService;
IMapper mapper = new MapperConfiguration(cfg => cfg.CreateMap<TestDTO, TestModel>()).CreateMapper();
public TestsController(ITestService testService)
{
_testService = testService;
}
// GET: api/Tests
[HttpGet]
public IEnumerable<TestModel> GetTests()
{
return mapper.Map<IEnumerable<TestDTO>, IEnumerable<TestModel>>(_testService.GetAllTests());
}
}
TestService
public class TestService : ITestService
{
IUnitOfWork Database { get; set; }
IMapper mapper = new MapperConfiguration(cfg => cfg.CreateMap<Test, TestDTO>()).CreateMapper();
public TestService(IUnitOfWork uow)
{
Database = uow;
}
public IEnumerable<TestDTO> GetAllTests()
{
return mapper.Map<IEnumerable<Test>, List<TestDTO>>(Database.Tests.GetAll());
}
}
Я знаю, что существует множество тем как мой, но они не помогают мне. Я пытался добавить services.AddTransient<ITestService, TestService>();
в мой файл Startup.cs, но он не работает.