2013-06-12 5 views
0

Я изучаю интеграцию N2CMS в существующий веб-сайт.реализовать N2.Engine.IServiceContainer для Ninject

Проблема, которую я получаю, заключается в том, что механизм IOC, используемый N2CMS (tinyIoC), не знает ни о какой зависимости моих контроллеров. Поэтому, когда какой-либо из моих контроллеров созданы я получаю ошибку, аналогичную:

TinyIoCResolutionException: Не удается разрешить тип: NLog.Logger (где NLogger является зависимость контроллера, который будучи реализованным)

Мой сайт использует Ninject; Я разработал, что N2CMS будет использовать локатор сервисов (реализация N2.Engine.IServiceContainer), чтобы нажимать зависимости.

Кто-нибудь построил что-нибудь подобное?

ответ

0

Я подозреваю, что вы используете Dynamico? Из коробки он разрешает контроллеры из контейнера N2CMS.

Мой первый шаг в создании проекта N2CMS - это изменение фабрики контроллера, чтобы вернуть контроллер из моего собственного контейнера. Службы N2 никогда не вводятся в мои контроллеры или уровень бизнес-логики.

Используйте N2.Context для доступа ко всему, что вам нужно.

+0

Я отмечаю это как принятый ответ, так как это, безусловно, ведет меня в правильном направлении, отступая назад и возвращаясь к документации, а не собирает случайные примеры, которые приводят меня к решению. –

+1

@StevenH Не могли бы вы подробнее остановиться на найденном решении? Благодарю. – faester

Смежные вопросы