powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему ninject не резолвит зависимости?
10 сообщений из 10, страница 1 из 1
Почему ninject не резолвит зависимости?
    #37457090
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Классическое приминение нинджекта. Конструкторы контроллеров принимают параметром некий интерфейс.

1. Зареференсил сборку Ninject
2. Сконфигурировал ядро(прописал биндинги).

все равно получаю ошибку, что контроллеры не имеют конструктора без параметров. В чем может быть проблема?
...
Рейтинг: 0 / 0
Почему ninject не резолвит зависимости?
    #37457099
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ведь по идее все должно быть в таком порядке

1. Lets say we are looking for "/Task/Index".
2. Ninject MVC applications use now DefaultControllerFactory, the same as non-Ninject applications.
3. DefaultControllerFactory finds type for controller (TaskController).
4. DefaultControllerFactory has internal class called DefaultControllerActivator. DefaultControllerActivator has method called Create, which returns controller instance. DefaultControllerFactory asks DefaultControllerActivator for TaskController type instance.
5. DefaultControllerActivator.Create uses IDependencyResolver. This is where Ninject comes in. Since Ninject implements its own resolver and sets it at the start of application, he gets request for TaskController instance.
6. The rest is easy. Ninject finds constructor for this type, injects parameters, returns controller instance

но у меня почему то 5 пункт не выполняется выходит
...
Рейтинг: 0 / 0
Почему ninject не резолвит зависимости?
    #37457259
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ниу кого нет никаких мыслей по этому поводу?
...
Рейтинг: 0 / 0
Почему ninject не резолвит зависимости?
    #37457271
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Esofter,

сорри, но к мвс да еще и нинджям я никоим образом не отношусь :|
...
Рейтинг: 0 / 0
Почему ninject не резолвит зависимости?
    #37457285
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZoriaEsofter,

сорри, но к мвс да еще и нинджям я никоим образом не отношусь :|

дело в том что я использовал Castle.Windsor раньше. Так там надо было переопределять фабрику создания контроллеров. А вот нинджект обещает сам разрешать эти зависимости, но почему-то у меня не выходит :)
...
Рейтинг: 0 / 0
Почему ninject не резолвит зависимости?
    #37458857
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вобщем, как всегда бывает, проблема была в невнимательности

реализация интерфейса у меня принимала параметр в конструтор

Код: plaintext
1.
 Bind<ISomeService>().To<SomeServiceImpl>();

SomeServiceImpl - принимал параметр. Но это нинджект "проглотил" и проблема вылезла только, когда создавался контроллер, которому и потребовался этот SomeServiceImpl.

Такие вот дела.
...
Рейтинг: 0 / 0
Почему ninject не резолвит зависимости?
    #37459207
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EsofterКлассическое приминение нинджекта. Конструкторы контроллеров принимают параметром некий интерфейс.

1. Зареференсил сборку Ninject
2. Сконфигурировал ядро(прописал биндинги).

все равно получаю ошибку, что контроллеры не имеют конструктора без параметров. В чем может быть проблема?

Я очень извиняюсь за своё невежество - пока только изучаю MVC и пишу учебные примерчики, но для чего нужны эти фабрики контроллеров? Что даёт их использование: увеличение быстродействия сайта, простоту программирования, "надувание щёк" перед заказчиком или ещё что-нибудь? Можно ли пояснить их необходимость в трёх словах? В моих скромных потугах я пока вроде бы успешно обходился и без этого.
С уважением ВВГ
...
Рейтинг: 0 / 0
Почему ninject не резолвит зависимости?
    #37459225
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGer,

неплохая статья тут. там есть и продолжение про фабрику контроллеров.
http://habrahabr.ru/blogs/net/63138/
...
Рейтинг: 0 / 0
Почему ninject не резолвит зависимости?
    #37459231
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGerEsofterКлассическое приминение нинджекта. Конструкторы контроллеров принимают параметром некий интерфейс.

1. Зареференсил сборку Ninject
2. Сконфигурировал ядро(прописал биндинги).

все равно получаю ошибку, что контроллеры не имеют конструктора без параметров. В чем может быть проблема?

Я очень извиняюсь за своё невежество - пока только изучаю MVC и пишу учебные примерчики, но для чего нужны эти фабрики контроллеров? Что даёт их использование: увеличение быстродействия сайта, простоту программирования, "надувание щёк" перед заказчиком или ещё что-нибудь? Можно ли пояснить их необходимость в трёх словах? В моих скромных потугах я пока вроде бы успешно обходился и без этого.
С уважением ВВГ

вот есть у тебя интерфейс, который предоставляет доступ к хранилищу данных. Назовем его IDataStorageService. этот сервис использует в себе один или несколько контроллеров. То есть имеется зависимость контроллеров от реализации этого сервиса. Разрешением этих зависимостей занимаются DI-фреймворки.

Ты скажешь: а зачем мне выделять интерфейс от реализации? Ведь я точно знаю что у меня будет только одна реализация, которая предполагает хранение данных допустим в скл БД. Ответ получишь, когда попытаешься написать юнит-тесты для контроллеров. Если у тебя класс-поставщик вынесен в интерфейс - ты его легко и просто можешь "замокать", то есть подменить реализацию на любую удобную тебе в данном конкретном тесте.
...
Рейтинг: 0 / 0
Почему ninject не резолвит зависимости?
    #37459341
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Esofter,

Ага! Спасибо за информацию.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему ninject не резолвит зависимости?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]