Использование MEF с NHibernate и Castle Windsor - PullRequest
5 голосов
/ 21 мая 2010

У меня есть приложение ASP.Net MVC, которое использует NHibernate под прикрытием для доступа к данным.Я использую контейнер Windsor для обработки вставки ISession ссылок в каждый контроллер.

Это прекрасно работает, но сейчас я хочу расширить свое приложение с подключаемой архитектурой, чтобы иметь основной продукти конкретные дополнения.Я нашел отличную статью о том, как сделать это с MEF .

Мой вопрос заключается в том, как сделать так, чтобы контейнеры Windsor и MEF работали вместе, чтобы я мог этого достичь.Была статья Гленна Блока , в которой говорилось именно об этой проблеме.Затем конец, а затем сказал, что следующая статья покажет вам, как это сделать, но нет части 2.

Кто-нибудь создал такое приложение, используя ASP.Net MVC, MEF, NHibernate и Castle Windsor?

Ответы [ 3 ]

3 голосов
/ 23 мая 2010

Я обнаружил небольшой прототип интеграции Windsor-> Mef 6 месяцев назад здесь . Он нацелен на сценарий, который вы, похоже, реализуете, когда вы загружаете приложение с помощью Windsor и хотите использовать MEF для расширяемости. Вы можете проверить это, возможно, это даст вам некоторые идеи

3 голосов
/ 26 мая 2010

Приложение Кто может мне помочь использует ASP.NET MVC, Castle Windsor, MEF и NHibernate. Стоит взглянуть на некоторые идеи.

0 голосов
/ 22 мая 2010

Существует несколько возможных подходов, которые вы можете использовать, в зависимости от того, чего вы хотите достичь.

Дитч Виндзор в пользу MEF, если это возможно. Если вы не используете более продвинутые функции Windsor, вы можете легко использовать MEF вместо Windsor. ( Прочтите этот пост, чтобы увидеть, подходит ли он вам. )

Если вы хотите придерживаться их обоих, прочитайте это . (Возможно, это тот же пост, который вы упомянули?)

Как писал Гленн, вполне разумно иметь и MEF, и Windsor. Вот что я думаю:

  • Windsor служит контейнером IoC для актуальных компонентов вашего приложения
  • MEF должен отвечать за внешние компоненты и сторонние расширения в вашем приложении

Это также должно ответить на вопросы, которые Гленн задал в конце своего поста в блоге. (Кстати, комментарии также стоит прочитать, он говорит, что у него есть рабочий мост для Касла.)
Еще несколько вещей вы можете найти в этом вопросе .

Надеюсь, это поможет.

...