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

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – Web API和ASP MVC之间的主要区别是什么前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
标题真的总结了我的问题.我已经使用了这两种技术,但我不确定哪种技术与另一种技术有很大不同.在本质上:

在设计宁静的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之间没有区别.

猜你在找的asp.Net相关文章