Это на самом деле не имеет ничего общего с Unity. Вы бы испытали такое же поведение, если бы просто:
var prodCont = new ProductsController(accountService, productsService);
Это вызовет конструктор с 2 параметрами ProductsController
, и вызовет конструктор по умолчанию с BaseController
0 параметрами.
Что вам нужно сделать, это указать конструктору ProductsController
, чтобы он в свою очередь вызвал базовый конструктор с 1 параметром вместо стандартного, выполнив:
public ProductsController(IService<Account> accountService, IService<Product> productService)
: base(sequenceService)
Но ISequenceService не передается в этот конструктор для передачи в базовый конструктор, поэтому вы, вероятно, действительно хотите:
public ProductsController(IService<Account> accountService,
IService<Product> productService,
ISequenceService sequenceService)
: base(sequenceService)
Предполагается, что ISequenceService
также отображается через Unity.