(转)C#进阶之WebAPI
2021-01-27 06:16
标签:win mat png 覆盖 实现 img ram dia put 转:https://www.cnblogs.com/yuchenghao/p/10598825.html 首先第一点:什么是WebAPI? 首先我们了解一下.net framework 的框架构成, 可以看到,WebAPI和mvc同属于B/S模板框架的一种,官方对于WebApi的定义是:WebAPI是一个框架,可以轻松构建HTTP服务,覆盖广泛的客户端,包括浏览器和移动设备,WebAPI是在.NetFramwork上构建RESTful程序的理想平台。 这里有必要解释一下什么是RESTful: RESTful是一种设计风格,REST中的 get、post、put、delete来进行数据的增删改查,如果开发人员的应用程序符合RESTful原则,那他的服务可被称之为“Restful风格应用服务”。 然后我们了解一下:为什么要使用WebAPI? 在解释这个问题之前我们需要首先知道一下.net为外部提供接口的方式有哪些? 答:WCF、WebService、WebAp、一般处理程序。 那来了解一下他们之间的区别: WebService: 1:基于soap协议,数据格式是xml、 2:只支持http协议、 3:不是开源的,但是可以被任意一个了解xml的人使用、 4:只能部署在iis上。 WCF: 1:基于soap协议,数据格式是xml、 2:WCF是webservice的进化版,支持各种各样的协议,像TCP、http、https、NamedPipes、MSMQ等、 3:不是开源的,但是可以被任意一个了解xml的人使用、 4:可以部署在应用程序中、IIS上或者Windows服务中。 WebAPI: 1:是一个简单的构建http服务的新框架、 2:在.net平台上WebAPI是一个开源的、理想的、构建RESTful服务的技术、 3:可以使用http的所有特点,(比如URIs、request/response头、缓存、版本控制、多种内容格式)、 4:支持mvc的特性,像路由、控制器、action、fiter、模型绑定、控制反转、依赖注入、单元测试、 5:可以部署在应用程序中、IIS上、 6:是一个轻量级的框架,对各种终端的支持都很好、 7:Response可以被webAPI的MediaTypeFormatter转换成json、XML或者任何你想转换的格式。 一般处理程序: 一般处理程序其实就是和页面处理程序相区分开的,因为实现的是IhttpHandler接口,而且不需要继承自Page类。所以没有那么多的事件需要处理,不必消耗太多资源,所以性能方面要比aspx高。 那么回到这个问题,为什么要使用WebApi? 当你遇到下面这些情况的时候,就可以考虑使用webAPI来构建你的服务了; 1:需要webservice但是不需要soap、 2:需要在已有的WCF服务基础上建立non-soap-based http服务、 3:只想发布一些简单的http服务,不想使用相对复杂的wcf配置、 4:发布的服务会被限制带宽的设备访问、 5:希望使用开源框架,关键时刻可以自己调试或者自定义一下框架。 最后总结一下WebAPI和MVC之间的区别:WebAPI和MVC之间有什么区别? 相信使用过mvc和webapi的同学都会觉得这两者太相似了,使用起来也差不多,但是既然是两个框架,那肯定是有区别的,我对WebAPI和MVC的区别做了一下总结: 1:MVC主要是用来构建网站的,既关心数据也关心页面展示,而WebAPI只关心数据、 2:WebAPI支持格式协商,客户端可以通过Accept header通知服务器期望的格式、 3:WebApi支持Self Host,MVC目前不支持、 4:WebAPI通过不同的http verb表达不同的动作(CRUD),MVC则通过Action名字表达动作、 5:WebAPI内建于System.Web.Http 命名空间下,而MVC位于Systm.Web.Mvc命名空间下,因此路由等有些许不同、 6:WebAPI非常适合构建移动客户端服务。 (转)C#进阶之WebAPI 标签:win mat png 覆盖 实现 img ram dia put 原文地址:https://www.cnblogs.com/wangle1001986/p/11950001.html
下一篇:快速排序算法的两种实现