调整asp.net mvc

时间:2009-04-02 11:59:17

标签: asp.net-mvc fubumvc

我真的很喜欢Fubu MVC的“一个模型 - 一个模型”的想法。控制器看起来像这样

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

并且服务定位器将自动填充构造函数中所有必需的依赖项。

这使控制器非常容易测试。

所以我的问题是:你如何调整asp.net mvc以便在控制器中实现这种简单性?

2 个答案:

答案 0 :(得分:2)

您正在寻找的是ControllerActionInvoker。您必须实现自己的并重写/接管处理ASP.NET MVC的许多管道工作。

作为参考,请查看Jonathon Carter关于做ControllerActionInvokers的两篇文章: http://lostintangent.com/2008/07/03/aspnet-mvc-controlleractioninvoker-part-1/

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

此外,Oxite团队在Oxite的第二版中做到了这一点,您可以在这里查看他们的来源:

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

这是一个直接链接到他们的ControllerActionInvoker实现的链接: http://oxite.codeplex.com/SourceControl/changeset/view/30544#442766

答案 1 :(得分:0)

从未在ASP.NET MVC内部深入挖掘,但我猜自定义ModelBinder和ActionResult将完成这项工作。