Я начинаю с инъекции зависимостей, и у меня возникают проблемы с инъекцией зависимости в базовый класс.Ввод зависимости в базовый класс
У меня есть контроллер BaseController
, который унаследовали мои другие контроллеры. Внутри этого базового контроллера я выполняю ряд проверок, таких как определение, имеет ли пользователь права на просмотр текущей страницы, проверку наличия некоторых переменных сеанса и т. Д.
У меня есть зависимость внутри этого базового контроллера что я хотел бы, чтобы ввести с помощью Ninject однако, когда я установить это, как я бы для моих других зависимостей я сказал компилятором, что:
Ошибка 1 «MyProject.Controllers.BaseController» не содержит конструктор, который принимает 0 аргумент
Это имеет смысл, но я просто не уверен, как вводить эту зависимость. Должен ли я использовать этот шаблон для использования базового контроллера вообще или должен ли я делать это более эффективным/правильным способом?
Можете ли вы опубликовать код конструкторов BaseController? –
Вместо того, чтобы исправить эту проблему, рассмотрите следующие правила: 1) Используйте композицию над наследованием. 2) Не выполняйте никаких работ в конструкторах. После того, как оба сделают вашу жизнь с DI проще. –