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

简介: 原文:Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]前言 本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api。出于自己想锻炼一下学习阅读英文文章的目的,又可以学习下微软新发布的技术,其实也很久了,但自己菜鸟一枚,对自己来说都是新技术了。
原文: 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异常处理http://www.cnblogs.com/aehyok/p/3446863.html

  8.Asp.Net Web API 2第八课——Web API中的属性路由 http://www.cnblogs.com/aehyok/p/3449851.html

  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媒体格式化器  http://www.cnblogs.com/aehyok/p/3460164.html

  14.Asp.Net Web API 2第十一课——JSON and XML Serialization in ASP.NET Web APIhttp://www.cnblogs.com/aehyok/p/3460184.html

  15.Asp.Net Web API 2第十一课——Content Negotiationhttp://www.cnblogs.com/aehyok/p/3481265.html

  16.Asp.Net Web API 2第十一课——Model Validationhttp://www.cnblogs.com/aehyok/p/3481270.html

  17.Asp.Net Web API 2第十一课——Parameter Binding in ASP.NET Web APIhttp://www.cnblogs.com/aehyok/p/3492259.html

七:OData

  18.Asp.Net Web API 2第十六课——Creating an OData Endpoint in ASP.NET Web APIhttp://www.cnblogs.com/aehyok/p/3545824.html

  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 ODatahttp://www.cnblogs.com/aehyok/p/3550119.html

  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第十四课——使用OWIN自承载Web API http://www.cnblogs.com/aehyok/p/3456855.html

  36.Asp.Net Web API 2第九课——自承载Web API http://www.cnblogs.com/aehyok/p/3456841.html

十: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中的一些问题有了更为深刻的理解和认识。希望能有更多的朋友参与其中。

目录
相关文章
|
12月前
|
开发框架 .NET C#
ASP.NET Core Blazor 路由配置和导航
大家好,我是码农刚子。本文系统介绍Blazor单页应用的路由机制,涵盖基础配置、路由参数、编程式导航及高级功能。通过@page指令定义路由,支持参数约束、可选参数与通配符捕获,结合NavigationManager实现页面跳转与参数传递,并演示用户管理、产品展示等典型场景,全面掌握Blazor路由从入门到实战的完整方案。
828 6
|
开发框架 前端开发 JavaScript
ASP.NET Web Pages - 教程
ASP.NET Web Pages 是一种用于创建动态网页的开发模式,采用HTML、CSS、JavaScript 和服务器脚本。本教程聚焦于Web Pages,介绍如何使用Razor语法结合服务器端代码与前端技术,以及利用WebMatrix工具进行开发。适合初学者入门ASP.NET。
|
JSON 人工智能 前端开发
用markdown语法制作一个好看的网址导航页面(markdown-web-nav)
这是一篇关于创建网址导航页面的工具分享文章。作者介绍了从手动编写HTML代码到开发可视化工具 *markdown-web-nav* 的历程,旨在简化网址管理与导航页面生成的过程。该工具支持新增、编辑和删除网址数据,通过导入/导出JSON文件、实时预览Markdown效果以及一键复制等功能,让用户轻松制作美观的网站导航页面。文章还提供了详细的操作步骤及常见问题解答,如还原数据、获取网站图标链接等,适合不同技术水平的用户使用。
932 28
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
1409 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
开发框架 .NET 程序员
驾驭Autofac,ASP.NET WebApi实现依赖注入详细步骤总结
Autofac 是一个轻量级的依赖注入框架,专门为 .NET 应用程序量身定做,它就像是你代码中的 "魔法师",用它来管理对象的生命周期,让你的代码更加模块化、易于测试和维护
855 4
驾驭Autofac,ASP.NET WebApi实现依赖注入详细步骤总结
|
开发框架 .NET PHP
ASP.NET Web Pages - 添加 Razor 代码
ASP.NET Web Pages 使用 Razor 标记添加服务器端代码,支持 C# 和 Visual Basic。Razor 语法简洁易学,类似于 ASP 和 PHP。例如,在网页中加入 `@DateTime.Now` 可以实时显示当前时间。
|
设计模式 前端开发 C#
使用 Prism 框架实现导航.NET 6.0 + WPF
使用 Prism 框架实现导航.NET 6.0 + WPF
1203 10
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
549 9
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
538 6
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
439 3