关于WebAPI

1. 如今愈来愈多的企业以及网站 以及互联网使用WebApi  。那么WebApi 和 普通的WebServices  和WCF 最大的区别是什么了。那就是Web API不少人都会想到Web服务,可是他们仍然有必定的区别:Web API服务是经过通常的 HTTP公开了,而不是经过更正式的服务合同 (如SOAP) 基于Rest 风格 更加的轻量级 使用起来的方便,编程

 ASP. NET Web API支持让你可以轻松地建立功能强大的 Web API,能够从范围普遍的客户端 (包括使用 JavaScript从浏览器中,到任何移动/客户端平台上的本机应用程序)访问。它提供如下支持:浏览器

(1)基于HTTP 进行访问:在你的使用的Web 应用程序中能够直接访问和处理 HTTP 请求以及响应,使用HttpClient 对象直接进行访问,除了在服务器上支持这个 HTTP 的编程模型以外,以及还能够进行经过 HttpClient API来从任何.NET 应用程序中调用 Web ApI, 固然不管是B/S 仍是C/S 的能够进行访问WebApi 更加的方便更加的灵活。服务器

(2)内容协商: Web API 有对内容协商的内置支持 — — 这使客户端和服务器一块儿工做以决定从一个 API 返回的正确的数据格式。咱们为JSON、 XML 和Form URL 编码的格式提供默认支持,并能够经过添加你本身的格式化程序来扩展这种支持,或者甚至用你本身的来替换默认的内容协商策略。 架构

(3)查询组成: Web API 经过 OData URL 公约使你可以轻松地支持查询。当你从你的 Web API 返回一种类型的 IQueryable <T> 时,框架将自动为它提供 OData 查询支持— — 使其易于分页和排序。框架

(4)模型绑定和验证:模型绑定器提供了一种简单的方法来从HTTP 请求中的不一样部分提取数据,并将这些信息部分转换为Web API行为可以使用的.NET对象。Web API 支持相同的模型绑定和ASP. NET MVC 现今支持的验证基础结构。单元测试

(5)路由: Web ApI 支持完整的路由功能集。现今ASP. NET MVC 和 ASP.NET也支持这一点,包括路线参数和约束。默认状况下,Web API 还提供了智能公约,使你可以轻松地建立实现 Web ApI的类,而无需不得不将属性应用到你的类或方法中。Web API 的配置纯粹是经过代码来实现的 — — 保持你的配置文件干净。测试

(6)筛选器: Web ApI 使你可以轻松地使用和建立筛选器 (例如: [受权]),那样你可以封装和应用交叉行为。网站

(7)改进的可测试性: 与其在静态文本对象中设置 HTTP 的详细信息,不如将 Web API 行为与 HttpRequestMessage 和 HttpResponseMessage 一块儿使用— — 两个新 的HTTP对象 (在其余内) 使测试更容易。例如,你能够单元测试你的 Web ApI,而无需不得不使用 Mocking 框架。编码

(8)IoC支持: Web API 支持由 ASP. NET MVC 实现的服务定位器模式,使你可以解决不一样设备的依赖。你能够轻松地使用IoC容器或依赖注射架构来集成,以保持干净的依赖解决方案。spa

(9)灵活的托管: Web ApI能够托管在任何类型的 ASP.NET应用程序内 (包括这两个基于应用程序的ASP. NET MVC和ASP.NET Web Forms)。咱们还设计了 Web API 支持,这样,你还能够选择在你本身的进程内托管/公开它们,若是你不想使用 ASP.NET/IIS 来这样作。至于你如何以及在哪儿使用它,这给了你最大的灵活性。

相关文章
相关标签/搜索