Хорошие фреймворки IOC для использования с asp.net mvc?

Мне интересно, какие хорошие простые фреймворки IoC существуют для asp.net mvc? которые имеют хорошую документацию и их просто легко встать и уйти.

Спасибо


person chobo2    schedule 06.05.2010    source источник
comment
Любой достойный контейнер IoC должен хорошо работать с ASP.NET MVC. Выберите тот, который лучше всего соответствует вашим чувствам.   -  person Robert Harvey    schedule 06.05.2010
comment
Похоже, Ааронаут прав, хотя другой вопрос касается годовалой давности. Может быть, сделать это CW, чтобы информация могла быть более или менее актуальной по мере развития фреймворков?   -  person R0MANARMY    schedule 06.05.2010
comment
Я добавил еще несколько дублирующих ссылок ... другой вопрос может быть старым, но я не думаю, что ландшафт действительно сильно изменился. Основные игроки остались прежними - Autofac, Ninject, Windsor, Unity, StructureMap и т. Д.   -  person Aaronaught    schedule 06.05.2010
comment
еще один: stackoverflow .com / questions / 532233 /   -  person Mauricio Scheffer    schedule 06.05.2010


Ответы (5)


Я использовал Autofac и был им очень доволен.

Конфигурация в основном выполняется в коде, поэтому вы получаете время компиляции, проверяя свои сопоставления, в отличие от программирования в XML и надежды на лучшее. Он также поддерживает переопределения XML, поэтому, если вам абсолютно необходимо оставить что-то для настройки во время выполнения / развертывания, это возможно.

Часть Contrib (не знаете, как ее назвать?) Обеспечивает интеграцию с NHibernate. , Moq и т. Д. Создатель проекта год проработал в Microsoft в команде MEF, поэтому есть некоторые интеграция с MEF.

Раздел документации на сайте довольно хорош (хотя, если вы не найдете там того, что вам нужно, его, вероятно, не существует ... пока). С другой стороны, автор находится на SO, поэтому, если у вас есть вопросы и соответствующие теги, вы, вероятно, можете получить качественные ответы. .


Вам также могут быть интересны эти два сообщения в блоге об организации конфигурации / подключения вашего приложения, чтобы сделать его более чистым.

  1. Использование MEF и Castle Windsor для улучшения развязки в вашей архитектуре
  2. NHibernate и WPF: GuyWire. Хотя он написан в контексте WPF, та же концепция применима и к веб-приложению.
person R0MANARMY    schedule 06.05.2010

Я использую Виндзорский замок, другие люди говорят, что Structure Map действительно хороша, но в основном они все делают свою работу

person Omu    schedule 06.05.2010

По общему признанию, S # arp Architecture - это намного больше, чем просто IoC. Он использует Castle / Windsor для IoC.

Я бы порекомендовал его как более широкий набор передовых практик для фреймворка вашего приложения MVC.

person Jason Watts    schedule 06.05.2010
comment
Официальный сайт Castle / Windsor странный. Не могу найти там примеров использования контейнера. - person zerkms; 06.05.2010

Я использовал Unity, и это хорошо.

person Karthik    schedule 06.05.2010

Даниал Каззулино имеет набор (сжатие?) скринкастов о создании контейнера DI Funq. Funq легкий и быстрый, но в нем отсутствуют некоторые особенности более крупных и устоявшихся фреймворков.

Я использую производный от Funq Munq, который также является легким и быстрым и представляет собой простой способ добавить контейнер DI в Проекты MVC3 через Nuget. До сих пор я не обнаружил необходимости переходить на другой фреймворк - Munq оказался вполне адекватным.

PM> install-package Munq.MVC3

Это добавит App_Start\MunqMvc3Startup.cs в проект, и именно здесь должны быть зарегистрированы зависимости.

person David Clarke    schedule 09.01.2012