Web API和MVC如何协同工作?

时间:2013-03-22 14:36:36

标签: asp.net-mvc asp.net-web-api

MVC和Web API如何在应用程序中协同工作?

您是否应该使用javascript绑定(使用knockout.js和ajax调用)并将MVC用于实际的容器页面?

或者您是否从MVC控制器(如WCF服务层)调用Web API?

我不清楚MVC和Web API的集成。

如果我经常要求返回HTML(即我想使用Partials),我是否应该使用Web API?

我想使用网络API,所以我可以扩展我的应用程序(从一侧返回HTML,但保留一个可以返回/处理XML的API)!

感谢您清理它:)

2 个答案:

答案 0 :(得分:4)

以下the link的图片清楚地解释了MVC和Web Api如何协同工作:

enter image description here

从技术上讲,你可以从MVC调用Web API,但它不是真正的最佳实践:

  1. 通过网络(分发)从MVC调用Web API,这会使您的应用程序更加复杂。

  2. Web Api是REST Api,它不像WCF那样是SOAP Api(虽然WCF支持REST Api)。因此,通过JavaScript,您可以使用ajax更轻松地调用Web Api。

答案 1 :(得分:1)

以下是我如何设置最新的MVC和Web API应用程序:有常规模型层(* M * VC),我已经为业务规则创建了一个服务层。我的MVC应用程序的控制器调用服务层来处理来自视图的数据。

我的Web API应用程序是服务层上方法的外部接口,因此MVC应用程序和Web API应用程序上的控制器都会调用服务层。我希望这会有所帮助。