2009-04-02 6 views
3

J'adore vraiment l'idée «un modèle dans un modèle» de Fubu MVC. Un contrôleur ressemblerait à quelque chose comme çaTweaking asp.net mvc

public class MyController 
    { 
     public OutputModel MyAction(InputModel inputModel) 
     { 
      //.. 
     } 
    } 

et le localisateur de services serait automagiquement remplir toutes les dépendances nécessaires dans le constructeur.

Cela rend le contrôleur très facile à tester.

Donc ma question est: Comment voulez-vous peaufiner asp.net mvc pour permettre cette simplicité dans les contrôleurs?

Répondre

2

Ce que vous recherchez est le ControllerActionInvoker. Vous devrez implémenter votre propre et remplacer/prendre en charge une grande partie du travail de pipeline que ASP.NET MVC.

Pour référence, consultez le post en 2 parties de Jonathon Carter sur ControllerActionInvokers faisant: http://lostintangent.com/2008/07/03/aspnet-mvc-controlleractioninvoker-part-1/

et

http://lostintangent.com/2008/07/07/aspnet-mvc-controlleractioninvoker-part-2/

En outre, l'équipe Oxite a fait dans la 2ème version de Oxite, vous peut vérifier leur source ici:

http://oxite.codeplex.com/SourceControl/changeset/view/30544

Voici un lien directement à leur implémentation ControllerActionInvoker: http://oxite.codeplex.com/SourceControl/changeset/view/30544#442766

0

Jamais vraiment creusé profondément à l'intérieur des composants internes ASP.NET MVC, mais je pense que ModelBinder personnalisé et ActionResult feront l'affaire.