推导ASP.net MVC4有一个网络API为您的数据模型暴露CRUD功能的这种“新”的概念。这些控制器的基类是DataController
,它来源于ApiController
。为什么不Asp.net网页API控制器从一个IController
不幸的是这ApiController
不从IController
推导出是有问题的,因为这些要求无法通过正常的自定义控制器厂进行处理,因为这些都应该返回IController
一个实例。
有没有人知道背后的原因,因为我不明白为什么你会在你的MVC项目中有一个控制器不是从IController
派生的,因为这打破了你的自定义控制器工厂,因为它无法实例化每一个控制器在你的项目中。
总之,由于这种继承,你无法使用你的DI容器来注入依赖关系。
我以前用过我自己的控制器工厂,这个类仍然被称为即使对于webapi控制器。我无法让应用程序调用DependencyResolver。所有请求都通过我自己的ControllerFactory(删除这个自定义工厂不会改变这个)。 – thekip 2012-02-29 10:49:13