Использование призмы с Ninject
кто-нибудь там использует основы призмы С Ninject вместо Unity? Мне нужна некоторая функциональность, которую Unity еще не поддерживает, и я решил переключить контейнер IoC на Ninject. Я немного борюсь с заменой..
то, что мне нужно использовать из Prism, - это EventAggregator и RegionManager. Я видел этот пример это на самом деле делает замену, но это написано для более старой версии Prism и нескольких классы, похоже, изменились и т. д. Поэтому я оказался в замешательстве после того, как сделал некоторые усилия, пытаясь переписать его.
Так мой вопрос в принципе: Как заменить Unity на Ninject?
каковы необходимые шаги? Первоначально я предполагал, что могу написать простой загрузчик, который создает и настраивает контейнер Ninject и использует его для разрешения всех других объектов. Я связываю IEventAggregator с EventAggregator и IRegionManager с RegionManager, но это не удается при создании оболочки и RegionManager.CreateRegion называется. Проблема в том, что мне кажется, что мне нужно установить ServiceLocator где-то, поскольку он терпит неудачу в этой строке:
IServiceLocator locator = ServiceLocator.Current;
идеи и советы по пути?
2 ответов
Майкл Харт выполнены необходимые биты для Ninject в призме"
вам нужно только реализовать свой собственный "NinjectBoostrapper" и реализацию IServiceLocator, который использует Ninject. Код в ссылке делает всю эту работу за вас.
Я только что создал проект github, который использовал Ninject 2.0 и Prism 4.0, который должен удовлетворять потребности всех, кто хочет поменять unity или MEF на Ninject
сайт тут Расширение Призмы Ninject