2010-08-20 14 views
2

Je cherche un exemple de la façon de configurer un projet ASP.NET MVC2 pour utiliser le conteneur CastleWindsor pour faire IoC. Je continue de rencontrer des problèmes de configuration, et pour chaque problème, il semble y avoir une solution en ligne, mais au final, je fais tellement de changements et je finis avec une telle configuration verbeuse pour que IoC fonctionne avec CastleWindsor , que j'ai pensé qu'il était préférable de poser cette question.ASP.NET MVC2 IoC: Recherche d'un exemple utilisant le conteneur CastleWindsor qui fonctionne avec la configuration minimale

Je suis à la recherche de la configuration minimale requise dans la page Global.asax, Web.config et, si nécessaire, des autres modifications et classes d'extension requises.

Je ne cherche pas à injecter dans les filtres d'action à ce stade, donc juste les bases. De préférence, n'utiliser pas de fichiers XML, mais le faire en .NET par programmation.

Merci à l'avance ...

Répondre

4

C'est aussi simple qu'il obtient:

  1. Démarrer un projet MVC2 de VS2010
  2. Download MvcContrib pour MVC2 (celui qui dit "binaires supplémentaires")
  3. dans votre projet, ajoutez une référence à (toutes ces DLL sont incluses dans MvcContrib):

    • Castle.Core.dll
    • Castle.DynamicProxy2.dll
    • Castle.MicroKernel.dll
    • Castle.Windsor.dll
    • MvcContrib.dll
    • MvcContrib.Castle.dll
  4. Dans votre Application_Start(), ajoutez ces lignes (et tous les espaces de noms nécessaires):

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

Je dois noter qu'actuellement MvcContrib inclut Windsor 2.0 tandis que la dernière version de Windsor est 2.5 –

+0

En outre, MvcContrib a abandonné le support des conteneurs IoC pour MVC3 –