1

我在一个拥有大量自定义模型绑定器、价值提供者等的 MVC4 站点上进行了大量投资。

我现在想向站点添加一些 WebAPI 控制器并重用一些 MVC4 组件。看起来 MVC 和 WebAPI 中有许多并行的概念(例如模型绑定),但是基类和接口存在于不同的命名空间中,这意味着类型是不可互换的。

是否有一种既定的模式可以使 MVC 类适应它们的 WebAPI 等价物?具体来说,我对能够将 aSystem.Web.Mvc.IModelBinder作为 System.Web.Http.ModelBinding.IModelBinder.

4

1 回答 1

2

问题不在于接口,而是两个模型绑定器使用的模型绑定规则完全不同,并且基于不同的概念。这就是接口在两个不同的命名空间中定义的原因,否则它们将使用完全相同的接口。两个接口之间存在并行性,但它们代表两个不同的概念。换句话说,语法相似但语义不同,因此您不能在它们之间进行一对一的映射

于 2013-03-24T13:21:11.330 回答