小编典典

MVC 5项目和Web Api项目之间的区别

c#

我是 ASP.NET MVCWeb API的 新手,正在尝试获取基础知识。据我所知,我们在VS
2013项目模板,命名为MVCWeb APIBoth of them together

我遍历了教程,了解到我们可以单独使用MVC以及使用Web API模板来制作API。

那么,基于 体系结构用法 ,两者之间有什么区别?


阅读 426

收藏
2020-05-19

共1个答案

小编典典

基本上,Web API控制器就是MVC控制器,它使用HttpMessageResponse而不是作为其响应的基本类型ActionResponse。它们在大多数其他方面是相同的。项目类型之间的主要区别在于,MVC Application项目类型添加了Web特定的东西,例如default CSSJavaScript文件和网站所需的其他资源,而API则不需要。

MVC用于创建网站。在这种情况下,Controllers通常会View向浏览器请求返回一个(即HTML响应)。另一方面,通常使Web
API被其他应用程序使用。如果要允许其他应用程序访问您的数据/功能,则可以创建一个Web
API来促进这种访问。例如,Facebook有一个API,以便允许App开发人员访问有关使用该App的用户的信息。Web
API不必供公众使用。您还可以创建一个API来支持自己的应用程序。例如,我们创建了一个Web API以支持MVC网站的AJAX功能。

Microsoft更改了他们呈现不同模板的方式。现在,他们鼓励开发人员根据需要在同一个项目中混合使用ASP.NET技术,而不是对不同的项目类型使用不同的模板。微软称之为vNext

更新: 对于ASP.NET Core,Web API已集成到MVC
6项目类型中,并且ApiController该类已合并到Controller该类中。有关更多详细信息,请访问:https//wildermuth.com/2016/05/10/Writing-API-
Controllers-in-ASP-NET-MVC-6

2020-05-19