- 我可以使用新的Web API以更轻量级的方式实现任何我曾经使用MVC实现的功能。
- 使用Web API比使用asp.net MVC更容易开发Web服务。
这将是创建网络服务的新API,这是传统XML服务和WCF服务的替代品,因此首先要指出WEB API与其他Web服务框架之间的主要区别。
Web API和WCF / ASMX服务之间的主要区别在于它不是基于SOAP而是基于HTTP。因此,您可以利用HTTP的所有功能,例如:
那就是Web API的主要目标,当时被称为WCF Web API:停止通过WCF的眼睛查看HTTP-只是一个传递请求的传输协议。相反,它允许我们将其视为真正的应用级协议-一个丰富的、互操作的、面向资源的协议。 Web API的目的是正确使用URI、HTTP头和正文为Web创建HTTP服务,以及希望接受HTTP作为其协议和终身朋友的其他人。
请参阅本文以获取更多信息:http://www.codeproject.com/Articles/341414/WCF-or-ASP-NET-Web-APIs-My-two-cents-on-the-subjec
所以基本上,Web API实际上可以与WCF或XML服务进行比较
如果您想知道WCF会发生什么?
事实是我们有太多的选项,因此存在太多的混淆。我们该怎么办?我们合并团队!(有点让我们想起LINQ-to-SQL和Entity Framework、WCF和Ado.Net数据服务等其他类似的例子)。因此,WCF团队和ASP.NET团队联合起来创建了一个针对REST / Hypermedia / HTTP服务的新框架,面向Web世界,因此出现了ASP.NET Web API。
现在您知道Web API的目标,然后解释MVC包含额外功能以主要呈现视图应该更容易。
您的关注点基于WEB API实际上基于MVC,但它们的目标不同
另一方面,ASP.NET MVC基础设施通过其优雅地处理HTTP请求和响应以及支持易于创建的控制器的方式似乎是为创建这种新类型的服务而去的合适方式。
WebAPI 和 MVC 是两个不同的东西,但它们都在同一个框架中工作。 WebAPI 用于 restful 服务。 MVC 用于网页。
您可以在 MVC 中创建 restful 服务,但需要比在 WebAPI 中更多的工作。反之则不成立。您无法在 WebAPI 中创建网页。因此,您的问题基本上是混淆的。
它们将在新版本中合并,从技术上讲,两者的工作方式相似,但API没有附加视图,因此具有更好的性能。