首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET WebApi vs MVC?

ASP.NET WebApi vs MVC?
EN

Stack Overflow用户
提问于 2012-07-06 03:02:30
回答 10查看 92.7K关注 0票数 148

使用ASP.NET MVC控制器,您可以以不同的格式公开您的数据。AspNetWebAPI是专门为创建应用程序接口而设计的,但我可以很容易地用MVC控制器做到这一点,我不清楚在什么情况下它会比传统的MVC控制器更好。我对WebApi的好处显而易见的场景很感兴趣,并且值得在我的应用程序中添加另一个复杂性层。

问题:使用asp.net WebApi相对于MVC有什么优点和/或缺点?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-07-06 03:23:21

WebApi允许创建可以通过超文本传输协议公开的服务,而不是通过正式的服务。另一个不同之处在于WebApi如何使用Http协议并使其成为真正的Http一等公民。

更新:的核心,Web已经集成到ASP.NET项目类型中。ApiController类被合并到Controller类中。更多信息请访问:https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6

相关的比较、讨论和教程链接:

票数 50
EN

Stack Overflow用户

发布于 2012-07-06 03:20:32

WebAPI去掉了OData,因此您可以获得使用OData的所有优点。例如,使用WebAPI时,您将获得:

  • 查询选项,如$filter、$top、$orderby等。
    • 使用传统的MVC控制器,您需要实施这些yourself.

  • Standardization of the format API.

有一些可理解RESTful

  • 的底层格式的OData客户端

票数 24
EN

Stack Overflow用户

发布于 2016-12-17 07:49:06

Asp.Net网络应用编程接口与Asp.Net MVC

1。HTTP用于创建同时返回视图和数据的web应用程序,而Asp.Net Web API用于创建完全成熟的Asp.Net服务,其方法简单,只返回数据而不返回视图。

2。Web有助于在.NET框架上构建REST-ful服务,它还支持内容协商(它是关于决定客户端可以接受的最佳响应格式数据。它可以是JSON、XML、ATOM或其他格式化数据),不在MVC中的自托管。

3。Web API还负责根据请求中的Accept头返回特定格式的数据,如JSON、XML或任何其他格式,您不必担心这一点。MVC使用JsonResult只返回JSON格式的数据。

4。在Web API中,请求被映射到基于HTTP谓词的操作,而在MVC中,请求被映射到操作名称。

5。Asp.Net Web API是一个新的框架,是核心ASP.NET框架的一部分。Web中存在的模型绑定、过滤器、路由和其他MVC特性不同于MVC,并且存在于新的System.Web.Http程序集中。在MVC中,这些特性存在于System.Web.Mvc中。因此,Web API还可以与Asp.Net一起使用,并作为独立的服务层使用。

6。您可以在单个项目中混合使用Web API和MVC控制器,以处理可能以JSON、XML或任何其他格式返回数据的高级AJAX请求,并构建一个成熟的HTTP服务。通常,这将称为Web API自托管。

7。当您拥有混合的MVC和Web API控制器并希望实现授权时,您必须创建两个过滤器,一个用于MVC,另一个用于Web API,因为这两个过滤器是不同的。

8。此外,Web API是轻量级架构,除了web应用程序外,它还可以与智能手机应用程序一起使用。

原始源为here

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11350853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档