При попытке активировать Controller
я получаю следующую ошибку из-за неверно введенного сервиса:
System.InvalidOperationException: 'Невозможно разрешить службу для типа
AnubisServer.Server.IDroneOperations при попытке активации
'AnubisServer.DroneController'. '
У меня есть следующая иерархия:
public interface IOperations { }
public interface ICatalog : IOperations { }
public interface IAdmin : ICatalog { }
public interface ICatalogService : IAdmin, ISomethingElse { }
В моем стартапе я предоставляю конкретную реализацию для самого производного интерфейса ICatalogService
:
Запуск
public void ConfigureServices(IServiceCollection services) {
services.AddMvc();
ICatalogService catalogService = new SomeConcreteService();
services.AddSingleton(catalogService);
}
Контроллер
public class CatalogController:Controller
{
private IOperations operations;
public CatalogController(IOperations ops)
{
this.operations=ops;
}
}
Так что я не понимаю, почему не работает внедрение интерфейса базового класса, поскольку я предоставляю производный конкретный экземпляр.
Есть идеи?