Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET WebApi与MVC?_Asp.net Mvc_Asp.net Web Api - Fatal编程技术网

Asp.net mvc ASP.NET WebApi与MVC?

Asp.net mvc ASP.NET WebApi与MVC?,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,使用ASP.NET MVC控制器,您可以以不同格式公开数据。AspNetWebAPI是专门为创建API而设计的,但我可以用MVC控制器轻松实现这一点,我不清楚在什么情况下它会比传统的MVC控制器更好。我对WebApi的好处显而易见的场景很感兴趣,值得为我的应用程序添加另一个复杂性层 问题:就MVC而言,使用asp.net WebApi的优点和/或缺点是什么?WebApi吐出了OData,因此您获得了使用OData的所有优点。例如,使用WebAPI,您可以获得: 查询选项,如$filter、$t

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


问题:就MVC而言,使用asp.net WebApi的优点和/或缺点是什么?

WebApi吐出了OData,因此您获得了使用OData的所有优点。例如,使用WebAPI,您可以获得:

  • 查询选项,如$filter、$top、$orderby等。
    • 对于传统的MVC控制器,您需要自己实现这些功能
  • 格式的标准化
    • 有些OData客户机可以理解RESTful API的底层格式

    • WebApi允许创建可通过HTTP公开的服务,而不是通过正式服务(如WCF或SOAP)公开的服务。 另一个区别在于WebApi使用Http协议的方式,使其成为真正的一流Http公民

      更新:ASP.NET核心Web API已集成到MVC项目类型中。
      ApiController
      类合并到
      Controller
      类中。更多信息,请访问:

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

      • 包括MVC、Web API演示
      • 教程

      在某种程度上,您可能希望忘记ASP.NET MVC。如果您是一名.NET开发人员,但希望构建一个单页应用程序(例如使用Angular),那么您将需要RESTful服务(WebAPI)的好处,而不需要ASP.NET MVC带来的所有不必要的膨胀。

    • 它们都继承自asyncrequest的
      ihttphandler
      ,因此基本上ApicController或mvc控制器都是web.http的包装器
    • 差异:

    • MVC控制器非常重,如果您可以查看它的定义,您可以看到它使用了多少接口和基本代码,web API是更轻的控制器,并通过其传递的参数来区分请求(是的,我们也可以更改它!)

    • MVC控制器有太多的特性,如返回视图、操作结果、javascript结果等,但在web API中有JSON或XML

    • API用于实现Restful(GET、POST、PUT、DELETE、OPTIONS)服务,这些服务可以独立承载在任何位置,而不依赖于视图,MVC控制器无法支持,因为它与视图紧密集成

    • 通常, WebAPI用于数据服务,其中MVC可以生成更多类型的输出

      WebAPI无疑简化了我们创建数据服务的方式。 为了达到这个目的,它既干净又容易。 MVC附带了更多的工具

      MVC可以生成WebAPI可以输出的任何输出。 从模板生成输出可以在MVC中轻松实现。我在WebAPI中找不到这样做的理由。PHP开发人员和老ASP程序员可能从过去就知道这种态度,您可以在其中构建包含C#代码的HTML文件

      WebAPI-数据
      MVC—数据、UI/HTML、XHTML、文件、模板等。ASP.NET MVC和ASP.NET Web api两者的用途不同

      ASP.NET

      ASP.NET提供了三种用于创建web应用程序的框架:web窗体、ASP.NET MVC和ASP.NET网页。这三个框架都是稳定和成熟的,您可以使用它们中的任何一个创建伟大的web应用程序。无论您选择哪种框架,您都可以随时随地获得ASP.NET的所有优点和功能

      每个框架针对不同的开发风格。您选择哪一个取决于您的编程资产(知识、技能和开发经验)、您正在创建的应用程序类型以及您熟悉的开发方法的组合。所有这三个框架都将在ASP.NET的未来版本中得到支持、更新和改进

      MVC

      ASP.NET MVC为您提供了一种强大的、基于模式的方法来构建动态网站,它可以清晰地分离关注点,并让您完全控制标记,从而实现愉快、敏捷的开发。ASP.NET MVC包含许多功能,可实现快速、TDD友好的开发,以创建使用最新web标准的复杂应用程序

      Web API

      ASP.NET Web API是一个框架,它使构建HTTP服务变得容易,这些服务可以覆盖广泛的客户端,包括浏览器和移动设备。ASP.NET Web API是在.NET Framework上构建RESTful应用程序的理想平台

      你可以在这里阅读更多表格

      这张图片似乎显示了事情的不同和相似之处。我希望这对我很有帮助


      Asp.Net Web API与Asp.Net MVC的对比 1。Asp.NETMVC用于创建同时返回 视图和数据,但Asp.NETWebAPI用于创建完整的HTTP 以简单易用的方式提供服务,只返回数据而不返回视图

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

      3。WebAPI还负责以特定格式返回数据,如 JSON、XML或基于请求中的Accept标头的任何其他格式 你不用担心。MVC只返回JSON格式的数据 使用JsonResult

      4。在Web API中,请求映射到基于HTTP谓词的操作 但在MVC中是ma