调整asp.net mvc

发布于 2024-07-16 10:04:43 字数 324 浏览 6 评论 0原文

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

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

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

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

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

I really love the "one model in - one model out" idea of Fubu MVC. A controller would look something like this

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

and the service locator would automagically fill in all the required dependencies in the constructor.

This makes the controller very easy to test.

So my question is: How would you go about tweaking asp.net mvc to allow this simplicity in the controllers ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

要走干脆点 2024-07-23 10:04:43

您正在寻找的是 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

What you're looking for the is the ControllerActionInvoker. You'll have to implement your own and override/take over handling a lot of the pipeline work that ASP.NET MVC.

For reference, check out Jonathon Carter's 2-part post on doing ControllerActionInvokers:
http://lostintangent.com/2008/07/03/aspnet-mvc-controlleractioninvoker-part-1/

and

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

Also, the Oxite team did this in the 2nd release of Oxite, you can check out their source here:

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

Here's a link directly to their ControllerActionInvoker implementation:
http://oxite.codeplex.com/SourceControl/changeset/view/30544#442766

独闯女儿国 2024-07-23 10:04:43

从未真正深入了解 ASP.NET MVC 内部结构,但我想自定义 ModelBinder 和 ActionResult 可以完成这项工作。

Never really dug deep inside ASP.NET MVC internals, but I guess custom ModelBinder and ActionResult will do the job.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文