Использование MEF с NHibernate и замком Windsor

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

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

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

Кто-либо создал приложение как это использование ASP.NET MVC, MEF, NHibernate и замок Windsor?

5
задан codekaizen 3 December 2010 в 21:38
поделиться

3 ответа

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

3
ответ дан 14 December 2019 в 13:28
поделиться

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

3
ответ дан 14 December 2019 в 13:28
поделиться

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

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

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

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

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

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

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

0
ответ дан 14 December 2019 в 13:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: