3

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

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

还是从 MVC 控制器(如 WCF 服务层)调用 Web API?

MVC 和 Web API 的集成对我来说并不清楚。

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

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

感谢您清理它:)

4

2 回答 2

4

下面这张来自链接的图片清楚地解释了 MVC 和 Web Api 如何协同工作:

在此处输入图像描述

从技术上讲,您可以从 MVC 调用 Web API,但这并不是真正的最佳实践,因为:

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

  2. Web Api 是 REST Api,它不像 WCF,它是大量的 SOAP Api(尽管 WCF 支持 REST Api)。因此,从 JavaScript 中,您可以使用 ajax 更轻松地调用 Web Api。

于 2013-03-22T14:43:51.227 回答
1

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

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

于 2013-03-22T14:45:08.307 回答