代码之家  ›  专栏  ›  技术社区  ›  driis

控制器是否可以将接口实例作为参数?ASP.NETMVC

  •  7
  • driis  · 技术社区  · 14 年前

    ASP.NET控制器操作方法是否可以将接口作为参数之一?

    我想要一些像:

    class MyController 
    {
        [HttpPost]
        public ActionResult Action(IMyModel model) {...}
    }
    

    有可能吗?显然,我必须告诉框架应该实例化哪个imymodel的具体实现,但是如何实现呢?

    2 回复  |  直到 14 年前
        1
  •  4
  •   CodingInsomnia    14 年前

    或多或少 everything is extensible in ASP.NET MVC 所以是的,这应该是可能的。看一看 Model Binders ,我想这就是你要找的。

        2
  •  1
  •   Paul    14 年前

    开箱即用,没有。不过,正如andiju所说,所有东西都可以插入mvc。鉴于您所追求的模式,我建议您考虑使用一个ioc容器(windsor、unity、structuremap),然后设置一个基于ioc的modelbinder和一个基于ioc的controllerbuilder。这将是最灵活的方法,也是最不头痛的(我认为)在实际解决这些具体类型的应用程序的生命周期。