Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]

 

前言

本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api。出于自己想锻炼一下学习阅读英文文章的目的,又可以学习下微软新发布的技术,其实也很久了,但自己菜鸟一枚,对自己来说都是新技术了。鉴于以上两个原因,本人打算借助google翻译和有道词典,来翻译学习这个系列,并通过博客园来记录自己的翻译学习过程。由于自己阅读水平的确太菜,在借助工具的情况下,有时候搞出来的也是蹩脚的语句,自己读着都难受,尤其是到了Web API路由的那两篇,所以自己想着是不是有别人也翻译过此类文章,经过简单的查找还果然有高人翻译过:http://www.cnblogs.com/r01cn/archive/2012/11/11/2765432.html,不过大神的系列也有很多空缺。所以自己就想着借助大神的作品加上自己的那点臭水平继续下去。通过官网的列表来看,文章的数量的确不少,所以自己想的是,开始暂时先把贯穿Web API的学习一下,至于一些边角待日后进行翻译完善:

  

以上是列表原址和google翻译。

Asp.Net Web API系列导航

  

一: Getting Started(入门)

  1.Asp.Net Web API 2第一课——入门 http://www.cnblogs.com/aehyok/p/3432158.html

二:Creating Web APIs(创建Web API)  

  2.Asp.Net Web API 2第二课——CRUD操作  http://www.cnblogs.com/aehyok/p/3434578.html

三:Web API Clients(Web API客户端)

  3.Asp.Net Web API 2第三课——.NET客户端调用Web API http://www.cnblogs.com/aehyok/p/3439698.html

  4.Asp.Net Web API 2第四课——HttpClient消息处理器 http://www.cnblogs.com/aehyok/p/3442277.html

四:Web API Routing and Actions(Web API 路由和动作)

  5.Asp.Net Web API 2第五课——Web API路由  http://www.cnblogs.com/aehyok/p/3442051.html

  6.Asp.Net Web API 2第六课——Web API路由和动作选择 http://www.cnblogs.com/aehyok/p/3444710.html

  7.Asp.Net Web API 2第七课——Web API异常处理

  8.Asp.Net Web API 2第八课——Web API Attribute Routing

  9.Asp.Net Web API 2第九课——Create a REST API with Attribute Routing in Web API 2

五:Working With HTTP(使用HTTP)

  10.Asp.Net Web API 2第十课——Web API HTTP消息处理

  11.Asp.Net Web API 2第十课——Sending HTML Form Data

  12.Asp.Net Web API 2第十课——HTTP Cookies in ASP.NET Web API

六:Formats and Model Binding(格式化和模型绑定)

  13.Asp.Net Web API 2第十一课——Media Formatters

  14.Asp.Net Web API 2第十一课——JSON and XML Serialization in ASP.NET Web API

  15.Asp.Net Web API 2第十一课——Content Negotiation

  16.Asp.Net Web API 2第十一课——Model Validation

  17.Asp.Net Web API 2第十一课——Parameter Binding in ASP.NET Web API

七:OData

  18.Asp.Net Web API 2第十二课——Creating an OData Endpoint in ASP.NET Web API

  19.Asp.Net Web API 2第十二课——Supporting OData Query Options

  20.Asp.Net Web API 2第十二课——Supporting OData Query Options

  21.Asp.Net Web API 2第十二课——Using $select, $expand, and $value in ASP.NET Web API OData

  22.Asp.Net Web API 2第十二课——Working with Entity Relations in OData

  23.Asp.Net Web API 2第十二课——Supporting OData Actions in ASP.NET Web API

  24.Asp.Net Web API 2第十二课——Web API OData Routing Conventions

  25.Asp.Net Web API 2第十二课——OData Security Guidance

八:Security(安全)

  26.Asp.Net Web API 2第十三课——Authentication and Authorization in ASP.NET Web API

  27.Asp.Net Web API 2第十三课——Basic Authentication

  28.Asp.Net Web API 2第十三课——Individual Accounts in ASP.NET Web API

  29.Asp.Net Web API 2第十三课——Forms Authentication

  30.Asp.Net Web API 2第十三课——Integrated Windows Authentication

  31.Asp.Net Web API 2第十三课——Preventing Cross-Site Request Forgery (CSRF) Attacks

  32.Asp.Net Web API 2第十三课——Working with SSL in Web API

  33.Asp.Net Web API 2第十三课——External Authentication Services (C#)

  34.Asp.Net Web API 2第十三课——Enabling Cross-Origin Requests in ASP.NET Web API

九:Hosting Asp.Net Web API(Asp.Net Web API托管)

  35.Asp.Net Web API 2第十四课——Use OWIN to Self-Host ASP.NET Web API

  36.Asp.Net Web API 2第十四课——Self-Host a Web API (C#)

十:Testing and  Debugging(测试和调试)

  37.Asp.Net Web API 2第十五课——Tracing in ASP.NET Web API

十一:Extensibility(可扩展性)

  38.Asp.Net Web API 2第十六课——Configuring ASP.NET Web API

  39.Asp.Net Web API 2第十六课——Using the Web API Dependency Resolver

十二:其他资源——暂无打算

  以上只是列出了学习的一个列表,至于学习那些和顺序没有严格的要求,正常的话所有的我都会进行学习翻译,顺序上变化可能比较多,这可是一向艰巨的任务,希望自己能够坚持下去。下面简单的来了解了解Web  API。

Web API是什么

在这篇文章当中比较详细的介绍了Asp.Net Web API是什么,在此也不做过多的强调了,想了解的可以点击链接http://devproconnections.com/development/microsoft-aspnet-whats-new-web-api这是原文地址,大神翻译地址为http://www.cnblogs.com/r01cn/archive/2012/11/09/2762930.html

下面的内容总结摘自http://www.cnblogs.com/developersupport/p/aspnet-webapi.html,感觉总结的很到位。

为什么要用Web API

  Web API最重要的是可以构建面向各种客户端的服务。另外与WCF REST 服务不同在于Web API利用Http协议的各个方面来表达服务(例如 URI/request response header/caching/versioning/content format),因此就省掉很多配置。

当你遇到以下这些情况的时候,就可以考虑使用Web API了。

  • 需要Web Service但是不需要SOAP
  • 需要在已有的WCF服务基础上建立non-soap-based http服务
  • 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置
  • 发布的服务可能会被带宽受限的设备访问
  • 希望使用开源框架,关键时候可以自己调试或者自定义一下框架

主要功能

Web API的主要功能

  • 支持基于Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操作。 通过不同的http动作表达不同的含义,这样就不需要暴露多个API来支持这些基本操作。
  • 请求的回复通过Http Status Code表达不同含义,并且客户端可以通过Accept header来与服务器协商格式,例如你希望服务器返回JSON格式还是XML格式。
  • 请求的回复格式支持 JSON,XML,并且可以扩展添加其他格式。
  • 原生支持OData
  • 支持Self-host或者IIS host。
  • 支持大多数MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。

Asp.Net Web API 和Asp.Net MVC

你可能会觉得Web API 与MVC很类似,他们有哪些不同之处呢?

详细点说他们的区别,

  • 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非常适合构建移动客户端服务

Web API和WCF

发布服务在Web API和WCF之间该如何取舍呢?这里提供些简单地判断规则,

  • 如果服务需要支持One Way Messaging/Message Queue/Duplex Communication,选择WCF
  • 如果服务需要在TCP/Named Pipes/UDP (wcf 4.5),选择WCF
  • 如果服务需要在http协议上,并且希望利用http协议的各种功能,选择Web API
  • 如果服务需要被各种客户端(特别是移动客户端)调用,选择Web API

http://msdn.microsoft.com/en-us/library/jj823172.aspx

总结

  又简单的进行了系列的汇总和列举,这也是一项很大的工程。暂时已经学习翻译了六个课程,感觉其中的某些知识点和Asp.Net MVC有比较高的相似度,这也让自己对MVC中的一些问题有了更为深刻的理解和认识。希望能有更多的朋友参与其中。

 
 
标签: Asp.Net Web API 2

【ASP.NET Web API教程】ASP.NET Web API系列教程目录

 

注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP.NET Web API。这是一个用来在.NET平台上建立HTTP服务的Web API框架,是微软的又一项令人振奋的技术。目前,国内对此关注的人似乎还不多,有关ASP.NET Web API的文章也不多见。为此,本人打算对微软ASP.NET Web API官方网站上的一些教程进行翻译,以期让更多的国人了解、学习和使用这项ASP.NET Web API。

ASP.NET Web API系列教程目录

Web API 2的更多相关文章

  1. 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...

  2. bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序

    也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...

  3. Hello Web API系列教程——Web API与国际化

    软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法.这在很多成熟的软件开发平台中非常常见.对于.net开发 ...

  4. ASP.NET Web API 跨域访问(CORS)

    一.客户端用JSONP请求数据 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignatu ...

  5. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  6. Web APi之认证(Authentication)两种实现方式【二】(十三)

    前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再叙述废话. 序言 对于所谓的认证说到底 ...

  7. angular2系列教程(八)In-memory web api、HTTP服务、依赖注入、Observable

    大家好,今天我们要讲是angular2的http功能模块,这个功能模块的代码不在angular2里面,需要我们另外引入: index.html <script src="lib/htt ...

  8. 我这么玩Web Api(二):数据验证,全局数据验证与单元测试

    目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试   一.模型状态 - ModelState 我理解 ...

  9. 我这么玩Web Api(一):帮助页面或用户手册(Microsoft and Swashbuckle Help Page)

    前言 你需要为客户编写Api调用手册?你需要测试你的Api接口?你需要和前端进行接口对接?那么这篇文章应该可以帮到你.本文将介绍创建Web Api 帮助文档页面的两种方式,Microsoft Help ...

  10. [译] 在Web API 2 中实现带JSON的Patch请求

    原文链接:The Patch Verb in Web API 2 with JSON 我想在.NET4.6 Web API 2 项目中使用Patch更新一个大对象中的某个字断,这才意识到我以前都没有用 ...

随机推荐

  1. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2): ...

  2. hibernate中使用sql语句进行表链接查询,对结果集的遍历方法

    今天做了一个在hibernate中使用sql语句进行表链接查询的功能,得到的属性是来自两个表中的字段.下面对结果集遍历的方法进行记录. sql语句不写了.部分代码如下: List<Course_ ...

  3. HDU 2841 Visible Trees(数论)

    标题效果:给你个m*n方格,广场格从(1,1)开始. 在树中的每个点,然后让你(0,0)点往下看,问:你能看到几棵树. 解题思路:假设你的视线被后面的树和挡住的话以后在这条线上的树你是都看不见的啊.挡 ...

  4. 经典算法题每日演练——第七题 KMP算法

    原文:经典算法题每日演练--第七题 KMP算法 在大学的时候,应该在数据结构里面都看过kmp算法吧,不知道有多少老师对该算法是一笔带过的,至少我们以前是的, 确实kmp算法还是有点饶人的,如果说红黑树 ...

  5. jQuery 的 serializeArray()、serialize() 方法

    serializeArray()方法说明: 实例 输出以数组形式序列化表单值的结果: $("button").click(function(){ x=$("form&qu ...

  6. 网站静态化处理—web前端优化—中(12)

    网站静态化处理—web前端优化—中(12) Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原 ...

  7. javascript 验证 yyyy-MM-dd HH:mm:ss 的正则表达式

    原文:javascript 验证 yyyy-MM-dd HH:mm:ss 的正则表达式 ^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13 ...

  8. BZOJ 1208 HNOI2004 宠物收容所 平衡树/set

    标题效果:有一个宠物收容所.目前还没有被采纳的宠物或谁想要领养宠物,每个宠物有个性值,大家谁想要领养宠物具有理想人格值.每一刻,宠物收容所只是为了有谁想要领养宠物或宠物的人. 当领走宠物,将有一定程度 ...

  9. jQuery 表格

    jQuery 表格插件汇总     本文搜集了大量 jQuery 表格插件,帮助 Web 设计者更好地驾御 HTML 表格,你可以对表格进行横向和竖向排序,设置固定表头,对表格进行搜索,对大表格进行分 ...

  10. TestNg的xml配置

    TestNG中,可以通过配置xml来运行某一类.包.方法. 1.通过TestNg运行某一个类 <?xml version="1.0" encoding="UTF-8 ...