2010-11-21 6 views
2

Hey, j'ai cherché partout une solution à injecter dans les filtres d'action. J'ai trouvé quelques solutions mais elles ont été implémentées avec une ancienne version de ninject/mvc. Quelqu'un at-il trouvé une solution simple à ce problème? J'ai été bloqué pendant un jour en essayant d'obtenir une mise en œuvre propre.avec Ninject dans Résoudre les filtres MVC2

J'ai regardé this solution mais beaucoup des fonctions qu'il utilise sont déconseillés dans Ninject.

Répondre

2

Ninjet.Web.Mvc a un support pour cela et le code source est fourni avec un exemple d'application qui a injection de filtre. Voir https://github.com/ninject/ninject.web.mvc. La seule chose que vous devez faire est d'ajouter une porperty avec l'attribut Inject à votre filtre d'action.

MVC3 a même un meilleur soutien voir http://www.planetgeek.ch/2010/11/13/official-ninject-mvc-extension-gets-support-for-mvc3/#more-2004

+0

J'ai utilisé le InjectAttribute dans un de mes filtres qui ont travaillé mais j'avais un problème quand je créé une sous-classe de la AuthorizeAttribute. Quand je ferais ma validation d'autorisation, Ninject n'avait pas encore initialisé l'interface. J'ai mis à jour à MVC3 et ai mis à jour ma DLL Ninject.Web.MVC. Les exemples avec l'injection du constructeur est exactement ce que je voulais. –

+0

D'autres problèmes ou cela peut-il être considéré comme fermé? En passant, il serait bon d'accepter si vous commencez à accepter des réponses pour donner un retour. –