ASP.NET MVC2 IoC: ищем пример использования контейнера CastleWindsor, который работает с минимальной конфигурацией - PullRequest
2 голосов
/ 21 августа 2010

Я ищу пример того, как настроить проект ASP.NET MVC2 для использования контейнера CastleWindsor для выполнения IoC.

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

Я ищу минимальную конфигурацию, требуемую на странице Global.asax, в файле Web.config и, если требуется, какие другие изменения и классы расширения требуются.

Я не собираюсь внедрять фильтры действий на этом этапе, а только основы. Желательно не использовать XML-файлы, но делать это в .NET программно.

Заранее спасибо ...

1 Ответ

4 голосов
/ 21 августа 2010

Это так же просто, как и получается:

  1. Запустить проект MVC2 из VS2010
  2. Скачать MvcContrib для MVC2 (тот, который говорит "дополнительные двоичные файлы"")
  3. Добавьте в свой проект ссылку на (все эти библиотеки DLL включены в MvcContrib):

    • Castle.Core.dll
    • Castle.DynamicProxy2.dll
    • Castle.MicroKernel.dll
    • Castle.Windsor.dll
    • MvcContrib.dll
    • MvcContrib.Castle.dll
  4. В Application_Start () добавьте эти строки (и все необходимые пространства имен):

    var container = new WindsorContainer();
    container.RegisterControllers(typeof(HomeController).Assembly);
    ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));
    
...