引言

小编跳槽到现任公司有一段时间,在这个公司对于小编是各种挑衅啊,也颠覆了小编之前的编程生涯,在前面

的博客中小编隆重介绍了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 时代的更多相关文章

  1. 07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...

  2. C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

    目       录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章           系统架构... 3 1.1           硬件构架图... 3 1.2      ...

  3. Html5+css3+angularjs+jquery+webAPi 开发手机web(一)

    前言 随着浏览器的发展 HTML5+CSS3 的使用也越来越广泛,一直想学这个,想学那个折腾下来几乎没学到什么东西.工作经验告诉我,要掌握一门技术,就需要在项目中去磨练, 所以我就准备开发一个手机端的 ...

  4. 使用ASP.Net WebAPI构建REST服务(六)——Self-Host

    Asp.Net WebAPI生成的是一个程序集,并不是独立的进程,因此,要运行的时候必须将其承载在相应的宿主上,一般比较常见的是IIS承载.很多时候,我们为了简化部署或者功能集成,需要将其承载到独立的 ...

  5. WebApi及Fiddler工具

    WebApi及Fiddler工具 1.概述 曾经有人问:asp.net mvc和asp.net webapi区别在哪?这个其实不好回答的.可能因为mvc模式盛行的原因,webapi显得孤芳自赏了,让人 ...

  6. WebApi 插件式构建方案

    WebApi 插件式构建方案 WebApi 插件式构建方案 公司要推行服务化,不可能都整合在一个解决方案内,因而想到了插件式的构建方案.最终定型选择基于 WebApi 构建服务化,之所以不使用 WCF ...

  7. WebApi client 的面向切面编程

    .Net的面向切面编程 .Net的服务端应用AOP很常见,在Asp.net MVC与Asp.net WebApi等新框架里到处都有AOP的影子,我们可以把一个服务方法“切”为很多面,日志面.验证面.请 ...

  8. ASP.NET WebApi技术从入门到实战演练

    一.课程介绍 曾经有一位不知名的讲师说过这么一句名言: 一门RPC技术不会,那么千万万门RPC技术将都不会!在今天移动互联网的时代,作为攻城师的我们,谁不想着只写一套API就可以让我们的Web, An ...

  9. ASP.NET WebAPI数据传输安全HTTPS实战项目演练

    一.课程介绍 HTTPS是互联网 Web 大势所趋,各大网站都已陆续部署了 HTTPS .  全站HTTPS时代,加密用户与网站间的交互访问,在客户端浏览器和Web服务器之间建立安全加密通道,一般情况 ...

随机推荐

  1. C#格式化输出

    double a = 12354.365; Console.WriteLine(string.Format("{0:f4}", a)); 输出a的四位小数

  2. Linux command: usermod -- 改变用户状态

    应用举例: 1. usermod -g newuser newuser force use GROUP as new primary group. 一般时候是默认的,也是必须的(不能更改).2. 指定 ...

  3. iOS:核心动画之关键帧动画CAKeyframeAnimation

    CAKeyframeAnimation——关键帧动画 关键帧动画,也是CAPropertyAnimation的子类,与CABasicAnimation的区别是: –CABasicAnimation只能 ...

  4. 3、Spring整合Hibernate

    经过前面的两节分析:1.Hibernate之生成SessionFactory源码追踪 和 2.Spring的LocalSessionFactoryBean创建过程源码分析 .我们可以得到这样一个结论, ...

  5. BZOJ 2754 喵星球上的点名(后缀数组)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2754 题意:给出n个字典串,m个询问串.输出每个询问串出现在多少个字典串中.最后输出每个 ...

  6. [HDOJ2604]Queuing(递推,矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2604 递推式是百度的,主要是练习一下如何使用矩阵快速幂优化. 递推式:f(n)=f(n-1)+f(n- ...

  7. leetcode:House Robber(动态规划dp1)

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  8. $.getJSON ashx 跨域

    context.Response.AddHeader("Access-Control-Allow-Origin", "*");

  9. maven3实战之仓库(快照版本)

    maven3实战之仓库(快照版本) ---------- 在Maven的世界中,任何一个项目或者构件都必须有自己的版本.版本的值可能是1.0.0,1.3-alpha-4,2.0,2.1-SNAPSHO ...

  10. WebView中Js与Android本地函数的相互调用

    介绍 随着Html5的普及,html在表现力上不一定比原生应用差,并且有很强的扩展兼容性,所以越来越多的应用是采用Html与Android原生混合开发模式实现. 既然要实现混合开发,那么Js与Andr ...