Asp.net MVC 与 Asp.net Web API 区别

Posted SherlockHolmes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Asp.net MVC 与 Asp.net Web API 区别相关的知识,希望对你有一定的参考价值。

Asp.Net Web API VS Asp.Net MVC

1、Asp.net MVC 是用来创建返回视图(Views)与数据的Web应用,而Asp.net Web API是一种简单轻松地成熟的HTTP服务,它只返回数据,不返回视图(Views)。

2、Asp.net Web API可以通过.Net Framework来帮助我们构建REST-ful服务,而且他支持内容协商(根据客户端能接受的格式要求,返回相应的JSON,XML,ATOM),同时Asp.net Web API支持自我宿主(self-hosting),而MVC并不支持(只能宿主在IIS中)。

3、Asp.net Web API可以返回特定的数据类型,比如JSON,XML,或者其他在请求头中定义的数据格式。而MVC只能利用Json Result返回JSON数据类型。

4、Asp.net Web API 根据HTTP 谓语动词来映射Action,但MVC只是映射 Action 名称。

5、Asp.net Web API 一种全新的框架,它是Asp.net Framework 核心库的一部分。在Asp.net Web API 一些存在MVC中的特征(model binding、filters、路由)是存在System.Web.Http程序集中,而MVC是存在System.Web.Mvc中。因此,Web API 可以和Asp.net一起使用,也可以做独立的服务层。

6、如果在一个项目中融合Web API和MVC controller,用于处理复杂AJAX请求,这些请求可能返回JSON,XML或者其他数据格式。这就是Web API 自我宿主(Web API self-hosting)。

7、如果融合MVC和Web API 控制器(controller),而且需要集成认证,这时,需要创建两个过滤器(Filters),一个MVC的,另一个Web API的,因为他们两个是不相同的。

8、总之,WebApi在提供数据方面,是比MVC更加轻量的架构。

以上是关于Asp.net MVC 与 Asp.net Web API 区别的主要内容,如果未能解决你的问题,请参考以下文章

简述关于ASP.NET MVC与.NET CORE 的区别

七天学会ASP.NET MVC ——深入理解ASP.NET MVC

Asp.net MVC中的ViewData与ViewBag

ASP.NET MVC 4 Web API

ASP.NET 核心的 Mvc.LocalizationSample.Web 问题

新手轻松学会MVC