Web API(二):Web API概述

摘要:
其目的是为应用程序和开发人员提供基于特定软件或硬件访问一组例程的能力。它允许程序员访问应用程序的特定功能或数据。ASP.NET Web API类似于Web服务或WCF服务。2.ASP.NET Web API功能。1) ASP.NET Web API是构建RESTful服务的理想平台。

一、什么是API

API(Application Programming Interface)即应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而无需访问源代码,或者理解内部的工作机制的细节。

简而言之,API是拥有一组函数组成的某种接口,它允许程序员访问应用程序的特定的功能或数据,操作系统或其他服务。

二、Web API

Web API顾名思义就是一个可以使用HTTP协议访问的API。这是一个概念,不是技术。

我们可以使用不同的技术来构建Web API,如Java、.net等。

1、ASP.NET Web API

ASP.NET Web API是一个可扩展的框架,用于构建基于HTTP协议的服务,这种服务可以在不同平台上的不同应用程序中访问:例如web应用程序,winform应用程序、WPF应用程序、移动端应用程序等等。它和ASP.NET MVC有相同的工作方式,但Web API应用程序接收到请求后返回数据,而不是像MVC一样返回HTML视图。

ASP.NET Web API就像一个webservice或WCF服务,但是ASP.NET Web API只支持HTTP协议。

2、ASP.NET Web API特性

1)ASP.NET Web API是一个构建基于RESTful服务的理想平台。

2)ASP.NET Web API是基于ASP.NET的,支持ASP.NET请求/响应管道。

3)ASP.NET Web API有良好的路由机制。

4)ASP.NET Web API支持不同格式的响应数据,例如JSON等。

5)ASP.NET Web API部署非常方便。

6)ASP.NET Web API框架包括新的HttpClient。它可以与Web API服务器通信。HttpClient可以在ASP.NET MVC服务器端、Windows Form应用程序、控制台应用程序或其他应用程序中使用。

3、ASP.NET Web API版本

Web API版本支持的.NET Framework框架对应的MVC版本支持的VS版本
Web API 1.0.NET Framework 4.0ASP.NET 4VS 2010
Web API 2.0.NET Framework 4.5ASP.NET 5VS 2012、VS2013、VS2015、VS2017

4、ASP.NET Web API vs ASP.NET MVC

1)MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据。

2)Web API支持格式协商,客户端可以通过Accept header通知服务器期望的格式。

3)Web API支持Self Host,而MVC目前不支持。

4)Web API通过不同的http werb表达不同的动作(CRUD),而MVC则是通过Action名字来表达动作。

5)Web API位于 ASP.NET System.Web.Http命名空间下,而MVC位于System.Web.Mvc命名空间下。

6)Web API非常适合构建移动客户端服务。

5、ASP.NET Web API vs WCF

Web APIWCF
开源,支持.NET Framework支持.NET Framework
只支持HTTP协议支持HTTP、TCP、UDP等协议
良好的路由机制来匹配URL与对应接口基于特性(Attribute)来匹配
使用类似于ASP.NET MVC的路由规则和Controller模型使用Service、契约等
不支持可靠的消息传递和事物。支持可靠的消息传递和事物
可以使用HttpConfiguration来配置Web API,不一定需要web.config使用web.config和Attribute来配置一个服务
适合构建RESTful服务支持构建RESTful服务但是有局限性。

6、如何选择使用WCF

1)如果你使用的是.NET Framework3.5,可以选择使用WCF,因为ASP.NET Web API不支持.NET Framework 3.5及更低版本。

2)如果需要支持多种协议,如HTTP、TCP、net.tcp等,可以选择WCF服务。

3)如果想建立满足WS标准的可靠的消息传递、交易的服务,可以选择WCF服务。

4)如果想要使用请求-应答,单向或者双向消息通信模式,可以选择WCF服务。

7、如何选择使用Web API

1)如果使用的是.NET Framework4.0或以上版本,可以选择Web API。

2)如果想建立一个仅支持HTTP协议的服务,可以选择Web API。

3)如果想构建基于RESTful的HTTP服务,可以选择Web API。

4)如果服务需要被各种客户端(特别是移动客户端)调用,现在Web API。

免责声明:文章转载自《Web API(二):Web API概述》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇树莓派AI视觉云台——8、WiringPi库函数整体刷新和局部刷新frameset窗口下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CC2540开发板学习笔记(九)—— BLE协议简介

一、BLE协议简介 1、协议是什么?      协议是一系列的通信标准,双方需要共同按照这进行正常数据 协议是一系列的通信标准,双方需要共同按照这进行正常数据发射和 接收。协议栈是的具体实现形式,通俗点来理解就发射和 接收。协议栈是的具体实现形式,通俗点来理解就发射和 接收。协议栈是的具体实现形式,通俗点来理解就用户之间的一个接口,开发人员通过使协议栈来这...

HK2使用详解

HK2介绍 组件 生命周期 定义服务 注入服务 HK2介绍 HK2是一个轻量级动态依赖注入框架,它是JSR-330的实现。 组件 在HK2组件模型中,一个组件的功能是通过服务接口-服务实现的模式声明的。一个HK2服务接口 标识并描述了一个构建模块或者应用程序扩展点。HK2服务实现实现了HK2服务接口。 #### 组件模型 (HK2)提供了一个模块系统和...

DDMS工具使用(转)

 DDMS工具使用   一.查看进程的堆栈使用情况1.选中你要查看的进程;2.点击“ Update Heap”按钮开启该进程的该项功能,如果单独打开ddms工具,按钮名为“Show heap updates”;3.点击“Cause GC”按钮来进行垃圾回收,当操作完成后,您会看到一组对象类型和为每种类型已分配的内存;4.点击列表中的一个对象类型,为该...

让我们一起学习如何使用AIDL,它其实并不难(Android)

前言 该篇文件讲述的是AIDL最基本的使用(创建、调用),关于对于AIDL更深的认识,在后续的随笔中,会持续与大家分享并探讨。 正文 AIDL的定义(什么是AIDL?) AIDL的应用场景(AIDL可以做什么?) 如何写一个AIDL的应用?(代码) AIDL概述(定义) AIDL:Android Interface Definition Langua...

服务网关Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置)

【前言】 Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。这些功能只都只需要通过一个统一的Ocelot.Json配置文件简单的配置即可完成。 简单的来说Ocelot是一堆的asp.ne...

配置MongoDB

MongoDB的安装过程是很简单的,但是配置就比较麻烦了,可能会遇到各种各样的问题,需要你有足够的耐心和仔细。 首先要在MongoDB的data文件夹里新建一个db文件夹和一个log文件夹:  然后在log文件夹下新建一个mongo.log:  然后将E:MongoDBin添加到环境变量path中,此时打开cmd窗口运行一下mongo命令,出现如下情况...