gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 05:24:51 28 4
gpt4 key购买 nike

标题确实总结了我的问题。我曾经使用过这两种技术,但是我不确定哪一种提供的技术与另一种技术有很大的不同。在本质上:

在设计一个 Restful 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。通过使用MVC的自定义管道(而不是System.Web提供的管道),MVC也可以达到较低的内存使用率。

因此,展望 future ,MVC和Web API之间没有区别。

关于asp.net-mvc - Web API和ASP MVC之间的主要区别是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16523970/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com