Ninject с базовым контроллером? - PullRequest
5 голосов
/ 19 апреля 2011

Мне интересно, как вы делаете инжектор конструктора с ninject 2.0, когда у вас есть базовый контроллер?

У меня есть

        private readonly IBaseService baseService;

        public BaseController(IBaseService baseService)
        {
            this.baseService = baseService;

        }


Bind<IBaseService>().To<BaseService>();


public class OtherController : BaseController
{
        private readonly IOtherService otherService;

        public OtherController(IOtherService otherService, IBaseService baseService) 
        {
            this.otherService = otherService;
        }

Все же я получаю

BaseController не содержит конструктор, который принимает 0 аргументов

Ответы [ 2 ]

13 голосов
/ 19 апреля 2011

Вам необходимо внедрить обе службы в OtherController и вызвать базовый конструктор, передавая требуемую службу:

public OtherController(IOtherService otherService, IBaseService baseService)
    : base(baseService) { this.otherService = otherService; }
1 голос
/ 19 апреля 2011

Тебе придется подключиться к базовому контроллеру, нет?

public OtherController(IOtherService otherService, IBaseService baseService) : base(baseService)
...