Asp Mvc 3 с NinjectHttpApplication и MEF - PullRequest
       31

Asp Mvc 3 с NinjectHttpApplication и MEF

1 голос
/ 26 сентября 2011

Я использую Ninject в качестве своей фабрики контроллеров MVC, но я также загружаю некоторые маршруты и контроллеры через MEF, эти контроллеры должны иметь возможность зарегистрироваться в Ninject:

Bind<SomePluginController>.ToSelf();

Таким образом, динамически добавленные маршруты могут быть выбраны.

Пока единственный способ сделать это, о котором я могу подумать, - это открыть внутреннее ядро ​​за пределами веб-приложения, однако это выглядит немного неприятно, а NinjectHttpApplication.Kernel кажется устаревшим.

Кому-нибудь еще удалось это сделать?

1 Ответ

1 голос
/ 28 сентября 2011

Проблема, с которой вы столкнулись, состоит в том, что MEF предназначен для составления набора неизвестных частей, тогда как Ninject имеет дело с явной регистрацией компонентов. Вы не можете легко получить информацию о типе из MEF, потому что она обрабатывается во время выполнения, а не во время компиляции.

Я думаю, вам, возможно, придется создать фабрику составных контроллеров, поддерживающую как Ninject, так и MEF.

...