ASP.NET WebApi与MVC?

借助ASP.NET MVC控制器,您可以以不同格式显示数据。 AspNetWebAPI是为创建API而明确设计的,但是我可以很容易地用MVC控制器来做到这一点,对于我来说,在什么情况下它比传统的MVC控制器更好。 我对WebApi的好处显而易见的场景感兴趣,并且为我的应用程序添加另一个复杂层是值得的。

问题:关于MVC使用asp.net WebApi有哪些优点和/或缺点?


WebApi允许创建可以通过HTTP暴露的服务,而不是通过诸如WCF或SOAP之类的正式服务。 另一个区别在于WebApi如何使用Http协议,并使其成为一流的Http公民。

更新: ASP.NET Core,Web API已被集成到MVC项目类型中。 ApiController类被整合到Controller类中。 更多:https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6

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

  • MVC5 vs WebApi项目
  • ASP.NET MVC和ASP.NET Web API之间的区别
  • ASP.NET Core介绍包括MVC,Web API演示
  • ASP.NET Web API入门教程
  • 在这里输入图像描述


    WebAPI吐出OData,所以你可以获得使用OData的所有优点。 例如,通过WebAPI,您可以获得:

  • 查询选项,如$ filter,$ top,$ orderby等
  • 使用传统的MVC控制器,你需要自己实现这些。
  • 格式的标准化
  • 有OData客户端可以了解您的RESTful API的底层格式。

  • 相似

    1)都从ihhtphandler继承了asyncrequest,所以基本上apicontroller或者mvc控制器都是围绕web的包装器.http

    差异:1)如果你可以通过它的定义你可以看到它使用了多少个接口和基本代码,mvc控制器是非常重的,web api是更轻的控制器,并通过它传递的参数区分请求(是的,我们也可以改变它! )

    2)MVC控制器有太多的功能,如返回视图,操作结果,JavaScript结果等,但在Web API具有JSON或XML

    3)API是用于实现Restful(获取,发布,放置,删除,选项)服务,它可以独立地托管任何地方,而不依赖于视图,MVC控制器不能支持它,因为它与视图紧密集成。

    链接地址: http://www.djcxy.com/p/20527.html

    上一篇: ASP.NET WebApi vs MVC ?

    下一篇: grid controls for ASP.NET MVC?