WebAPI 时代
引言
小编跳槽到现任公司有一段时间,在这个公司对于小编是各种挑衅啊,也颠覆了小编之前的编程生涯,在前面
的博客中小编隆重介绍了angularJS这个大神,这个让我不堪回首的两周,真是黑色天使啊!从现在开始我们在看看
我们的后端的东西,首先就是给大家介绍后起之秀webAPI,为什么说这个是后起之秀呢?那咱就好好的说说这个东
西。
webAPI到底是什么?
下面给大家一段官方的解释:
ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.
上面这段文字是比较简单的哈,我就给大家提取出几个比较重点的东西:它可以很容易的对接各种客户端(各
种浏览器、移动设备),构建http服务,所以它也很光荣的被大家成为框架。
webAPI的地位如何?
Web API在ASP.NET完整框架中地位如下图,与SignalR一起同为构建Service而服务的框架。Web API负责构建
http常规服务,而SingalR主要负责的是构建实时服务,例如股票,聊天室,在线游戏等实时性要求比较高的服务。
webAPI与wcf的简单的比较?
上面我们已经介绍了webAPI最重要是可以面向各种客户端服务,它与WCF相比Web API利用Http协议的各个方面
来表达服务(例如 URI/request response header/caching/versioning/content format),因此就省掉很多配置。
那么当我们发布服务的时候,我们如何在这两者之间抉择呢?下面给大家提供几种参考标准!
1、如果服务需要支持One Way Messaging/Message Queue/Duplex Communication,选择WCF
2、如果服务需要在TCP/Named Pipes/UDP (wcf 4.5),选择WCF
3、如果服务需要在http协议上,并且希望利用http协议的各种功能,选择Web API
4、如果服务需要被各种客户端(特别是移动客户端)调用,选择Web API
WebAPI与MVC有何区别?
MVC和webAPI相比最大的缺点就是它只能面向浏览器服务而不能面向移动端的服务,这在移动办公迅速崛起的时
代显得有点力不从心了,所以webAPI这个角色就理所当然的占据了很重要的地位。下面我们就详细的给大家介绍一下
这两者的区别:
MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据
Web API支持格式协商,客户端可以通过Accept header通知服务器期望的格式
Web API支持Self Host,MVC目前不支持
Web API通过不同的http verb表达不同的动作(CRUD),MVC则通过Action名字表达动作
Web API内建于ASP.NET System.Web.Http命名空间下,MVC位于System.Web.Mvc命名空间下,因此model
binding/filter/routing等功能有所不同
最后,Web API非常适合构建移动客户端服务
小结
上面是小编总结的一些关于WebAPI和之前我们比较熟悉的技术的一些对比,关于这个技术小编也是刚接触不
久,这是项目中框架中的一部分,所以就简单的总结了一下,如果有什么不对的地方还请广大读者拍砖!
WebAPI 时代的更多相关文章
- 07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...
- C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)
目 录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章 系统架构... 3 1.1 硬件构架图... 3 1.2 ...
- Html5+css3+angularjs+jquery+webAPi 开发手机web(一)
前言 随着浏览器的发展 HTML5+CSS3 的使用也越来越广泛,一直想学这个,想学那个折腾下来几乎没学到什么东西.工作经验告诉我,要掌握一门技术,就需要在项目中去磨练, 所以我就准备开发一个手机端的 ...
- 使用ASP.Net WebAPI构建REST服务(六)——Self-Host
Asp.Net WebAPI生成的是一个程序集,并不是独立的进程,因此,要运行的时候必须将其承载在相应的宿主上,一般比较常见的是IIS承载.很多时候,我们为了简化部署或者功能集成,需要将其承载到独立的 ...
- WebApi及Fiddler工具
WebApi及Fiddler工具 1.概述 曾经有人问:asp.net mvc和asp.net webapi区别在哪?这个其实不好回答的.可能因为mvc模式盛行的原因,webapi显得孤芳自赏了,让人 ...
- WebApi 插件式构建方案
WebApi 插件式构建方案 WebApi 插件式构建方案 公司要推行服务化,不可能都整合在一个解决方案内,因而想到了插件式的构建方案.最终定型选择基于 WebApi 构建服务化,之所以不使用 WCF ...
- WebApi client 的面向切面编程
.Net的面向切面编程 .Net的服务端应用AOP很常见,在Asp.net MVC与Asp.net WebApi等新框架里到处都有AOP的影子,我们可以把一个服务方法“切”为很多面,日志面.验证面.请 ...
- ASP.NET WebApi技术从入门到实战演练
一.课程介绍 曾经有一位不知名的讲师说过这么一句名言: 一门RPC技术不会,那么千万万门RPC技术将都不会!在今天移动互联网的时代,作为攻城师的我们,谁不想着只写一套API就可以让我们的Web, An ...
- ASP.NET WebAPI数据传输安全HTTPS实战项目演练
一.课程介绍 HTTPS是互联网 Web 大势所趋,各大网站都已陆续部署了 HTTPS . 全站HTTPS时代,加密用户与网站间的交互访问,在客户端浏览器和Web服务器之间建立安全加密通道,一般情况 ...
随机推荐
- Android异步下载图片并且缓存图片到本地
Android异步下载图片并且缓存图片到本地 在Android开发中我们经常有这样的需求,从服务器上下载xml或者JSON类型的数据,其中包括一些图片资源,本demo模拟了这个需求,从网络上加载XML ...
- Shell脚本基础II
1.shell算术运算 1)加法 r=`expr 4 + 5`(注意! '4' '+' '5' 这三者之间要有空白) r=$[ 4 + 5 ] r=$(( 4 + 5 )) echo $r 2)乘法 ...
- React组件-mixin
一.组件 二.代码 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&q ...
- 一起简单写一下AIDL,入个门
前话 最近接触了Android开发的一个新知识,AIDL(¬_¬因为到现在都没用过) 因此不断谷歌找资料找Demo,自己尝试写一下. 因为用AndroidStudio作为开发环境,期间遇到过许多问题, ...
- Struts2笔记——自定义拦截器
需要两个步骤,自定义类实现拦截器接口和在struts.xml注册拦截器 =============================== 1.自定义类实现com.opensymphony.xwork2. ...
- javascript QUnit 单元测试
<!doctype html> <html> <head lang="zh-CN" dir="ltr"> <meta ...
- OracleApps 什么是Back to Back Order?
什么是Back to Back Order? 简单的说,B2B是我们从供应商那拿货,然后收到货后,再发运给客户.. B2B Flow B2B的例子 1.Item的定义 Item Should be c ...
- hiho #1332 : 简单计算器 栈+递归
#1332 : 简单计算器 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 编写一个程序可以完成基本的带括号的四则运算.其中除法(/)是整除,并且在负数除法时向0取整.( ...
- cocos2d-x 获取图片的某像素点的RGBA颜色 -转
cocos2d-x 获取图片的某像素点的RGBA颜色 原文:http://www.cnblogs.com/jaoye/archive/2013/02/19/2916501.html 没做过 太多的图 ...
- IOS开发之不同版本适配问题2(#ifdef __IPHONE_7_0)(转载)
继续说说ios不同版本之间的适配 先说一个东西:在xcode当中有一个东西叫targets,苹果的官方文档是这样说的: A target specifies a product to build an ...