2009-02-26 6 views
0

Mes vues étendent une vue ive base de classe fait:Comment faire une carte de structure motrice ViewEngine en asp.net mvc

public class BaseView : ViewPage 

Au moment im appeler ObjectFactory.GetInstance dans cette classe constructeur pour obtenir une interface de implémentations mais id aiment utiliser structuremap pour les injecter en tant qu'arguments constructeurs. Im utilisant un structuremapcontrollerfactory pour créer mes contrôleurs, mais comment puis-je faire la même chose pour les vues? Je sais que je peux implémenter un ViewEngine personnalisé, mais en utilisant réflecteur pour regarder le moteur de vision par défaut mvc et ses dépendances, il semble continuer encore et encore et je préfère ne pas avoir à ré-implémenter des choses qui sont déjà là. Quelqu'un a-t-il une idée astucieuse pour résoudre ce problème?

Je sais que je pourrais faciliter les choses avec setter au lieu de l'injection du constructeur, mais je préfère éviter cela si possible.

+0

Eh bien, quelles dépendances voulez-vous réellement pouvoir contrôler? Il pourrait être impossible de couvrir tout ... –

Répondre

1

Oui, si vous parlez de WebForms ViewEngine, vous avez raison de dire que vous n'avez pas conçu l'inversion de commande. Vous pouvez soit faire pression sur Microsoft pour le modifier, soit utiliser l'injection Setter. En FubuMVC, nous utilisons l'injection setter avec la méthode de BuildUp de StructureMap:

+0

injection de setter c'est –

Questions connexes