ASP.NET Web API比ASP.NET MVC有什么好处

时间:2014-02-17 14:53:58

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

我频繁地体验到Web API有一些限制和“ASP.NET MVC”中不存在的一些缺点。

例如,ASP.NET Web API不支持[OutputCache]属性“开箱即用”,因此我必须安装NuGet插件才能支持它。

我的问题是,为什么我应该选择使用ASP.NET Web API,如果我可以选择ASP.NET MVC,据我所知,它可以做任何WEB API可以做的甚至更多?

3 个答案:

答案 0 :(得分:9)

ASP.NET MVC是用于构建Web应用程序的MVC框架。 ASP.NET Web API是用于构建RESTful服务的框架。这是两个框架的主要区别。它们是为不同目的而建造的,它们应该用于它们的建造目的。

ASP.NET Web API和WCF之间的比较会更合理,因为它们都用于实现SOA(面向服务的体系结构)解决方案。另一方面,我认为我们不应该将ASP.NET Web API与ASP.NET MVC联系起来。

答案 1 :(得分:2)

ASP.NET MVC经过优化,可以通过HTTP将内容返回到Web浏览器,并且基于出现在>的ASP.NET运行时(system.web)。 10年。

ASP.NET Web API是一个HTTP应用程序框架,它不关心您所服务的客户端。它建立在一个新的Http堆栈上,可以用于客户端和服务器端。

两个框架都可以生成RESTful应用程序,也没有特别针对它进行优化。

答案 2 :(得分:1)

MVC是用于开发Web应用程序的框架,但Web api用于开发REST服务。我们可以使用Wcf来兼顾WebAPI,因为它们都用于开发服务。

当我们使用WebApi时,我们不需要在Get,Put等方法上添加属性,但是我们必须使用GetEmployee,PutEmployee,PostEmployee等来创建方法名称。

身份验证更简单 我们可以在服务的入口点验证用户,无需在每个方法或控制器上进行身份验证。只要 我们必须根据需要在方法或控制器上添加“Authenticate”属性。