3

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

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

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

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

所以我的问题是:您将如何调整 asp.net mvc 以允许控制器中的这种简单性?

4

2 回答 2

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

于 2009-04-02T17:46:26.090 回答
0

从来没有真正深入挖掘过 ASP.NET MVC 内部,但我想自定义 ModelBinder 和 ActionResult 可以完成这项工作。

于 2009-04-02T12:02:04.583 回答