加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Web API和ASP MVC之间的主要区别是什么

发布时间:2020-12-15 22:19:19 所属栏目:asp.Net 来源:网络整理
导读:标题真的总结了我的问题.我已经使用了这两种技术,但我不确定哪种技术与另一种技术有很大不同.在本质上: 在设计宁静的Web应用程序时,在选择ASP MVC或Web API时应考虑哪些标准和/或指导? 解决方法 目的 ASP.NET MVC专注于简化HTML的输出. ASP.NET Web API专
标题真的总结了我的问题.我已经使用了这两种技术,但我不确定哪种技术与另一种技术有很大不同.在本质上:

在设计宁静的Web应用程序时,在选择ASP MVC或Web API时应考虑哪些标准和/或指导?

解决方法

目的

ASP.NET MVC专注于简化HTML的输出. ASP.NET Web API专注于简化原始数据的输出.

在WebForms世界中,ASP.NET MVC将等同于.aspx页面,ASP.NET Web API将等同于.asmx.

虽然没有什么不可能

虽然可以使Web API输出HTML和MVC输出原始数据,但您还需要额外的工作.例如,在Web API中进行内容协商期间创建其他类来处理text / html,或者添加逻辑来处理MVC中的OData查询.

假设

MVC和Web API的默认假设也不同.默认情况下,MVC假定用户提交的数据可以来自多个源,无论是查询字符串还是表单.

默认情况下,Web API假定基本类型来自查询字符串,而非基本类型来自表单.它还假设您只想在没有缓存的情况下读取表单主体,以降低内存使用率并提高性能.

违背默认值需要额外的工作,对我来说,根本没有意义.

编辑:

此外,默认情况下,MVC的JsonResult阻止GET AJAX请求以防止CSRF,而Web API默认允许GET AJAX请求.

MVC 6更新

MVC 6统一了MVC和Web API,允许您像在MVC中一样返回ViewResult,或者像Web API一样返回对象,框架将负责内容协商,为您创建HTML,JSON或XML.通过使用其自定义管道而不是System.Web提供的内容,较低的内存使用量也会到达MVC.

所以,未来,MVC和Web API之间没有区别.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读