ASP.NET Web API 2框架揭秘(.NET领域再现力作 顶级专家精讲微软全新轻量级通信平台)

综合评级:
★★★★★

定价:
¥108.00

作者:
蒋金楠 著

出版社:
电子工业出版社

出版日期:
2014年7月

页数:
713

字数:
908000

ISBN:
9787121235368

书籍介绍

《ASP.NET Web API 2框架揭秘》以实例演示的方式介绍了很多与ASP.NET Web API 相关的实践,同时还提供了一系列实用性的扩展。《ASP.NET Web API 2框架揭秘》详细讲解了ASP.NET Web API 从接收请求到响应回复的整个流程,包括路由、Http Controller 的激活、Action 方法的选择与执行、参数的绑定与验证、过滤器的执行和安全等相关的机制。

  除此之外,《ASP.NET Web API 2框架揭秘》在很多章节还从设计的角度对ASP.NET Web API 的架构进行了深入分析,所以可以将《ASP.NET Web API 2框架揭秘》当作一本架构设计的书来读。

  虽然与市面上任何一本相关的书相比,《ASP.NET Web API 2框架揭秘》走得更远并更加近距离地触及到ASP.NET Web API 框架的内核,但是就其内容本身来讲却没有涉及太多“高深莫测”的知识点,所以阅读《ASP.NET Web API 2框架揭秘》不存在太高的门槛。如果你觉得自己对ASP.NET Web API 所知甚少,可以利用《ASP.NET Web API 2框架揭秘》来系统地学习ASP.NET Web API;如果你觉得自己对ASP.NET Web API 足够精通,也一定能够通过阅读《ASP.NET Web API 2框架揭秘》发现自己知识的“盲点”。

作者简介

蒋金楠(网名Artech),《WCF全面解析(上、下册)》《ASP.NET MVC 4框架揭秘》《ASP.NET MVC 5框架揭秘》等多部畅销IT图书作者,现就职于一知名软件公司担任高级软件顾问。拥有一个访问量超过200万的个人博客,2012年度51CTO IT博客大赛10佳得主。2007—2013年被连续7次评为微软MVP,同时也是少数几个跨多领域(Solutions Architect、Connected System、Microsoft Integration和ASP.NET/IIS )的MVP之一。

  作者博客: http://www.cnblogs.com/artech

  作者微博: http://www.weibo.com/artech

  电子邮箱:jiangjinnan@gmail.com

  微信公众账号:Artech1981

目录

第1 章 概述

 1.1 何为web..

 1.1.1 TCP/IP 与HTTP

 1.1.2 Web 资源..

 1.1.3 HTTP 事务..

 1.1.4 HTTP 报文..

 1.2 RESTful Web API.

 1.2.1 为什么叫这个奇怪的名字

 1.2.2 RESTful Web API 具有怎样的特征..

 1.3 初识ASP.NET Web API.

 1.3.1 构建解决方案..

 1.3.2 定义Web API

 1.3.3 以Web Host 方式寄宿Web API

 1.3.4 以Self Host 方式寄宿Web API..

 1.3.5 利用HttpClient 调用Web API ..

 1.3.6 创建一个"联系人管理器"应用.

第2 章 路由.

 2.1 ASP.NET 路由.

 2.1.1 请求URL 与物理文件的分离..

 2.1.2 实例演示:通过URL 路由实现请求地址与Web 页面的映射..

 2.1.3 ASP.NET 路由系统.

 2.1.4 注册路由映射

 2.1.5 根据路由规则生成URL

 2.1.6 HttpHandler 的动态映射.

 2.2 ASP.NET Web API 路由

 2.2.1 请求与响应

 2.2.2 ASP.NET Web API 路由系统

 2.2.3 注册路由映射..

 2.3 两个路由系统的衔接.

 2.3.1 HostedHttpRoute 与HostedHttpRouteCollection

 2.3.2 HttpControllerRouteHandler 与HttpControllerHandler .

第3 章 消息处理管道.

 3.1 HttpMessageHandler 管道

 3.1.1 HttpMessageHandler

 3.1.2 DelegatingHandler ..

 3.1.3 HttpServer ..

 3.1.4 HttpRoutingDispatcher.

 3.2 Web Host 模式下的消息处理管道

 3.2.1 HttpControllerHandler .

 3.2.2 实例演示:自定义HttpMessageHandler 实现HTTP 方法重写(S305) .

 3.3 Self Host 模式下的消息处理管道..

 3.3.1 HttpBinding

 3.3.2 HttpSelfHostServer..

第4 章 HttpController 的激活.

 4.1 HttpController.

 4.1.1 HttpControllerContext.

 4.1.2 HttpControllerDescriptor .

 4.1.3 ApiController..

 4.2 HttpController 是如何被创建的.

 4.2.1 程序集的解析.

 4.2.2 HttpController 类型的解析

 4.2.3 HttpController 的选择.

 4.2.4 HttpController 的创建..

 4.2.5 HttpController 的激活与释放

 4.3 IoC 的应用..

 4.3.1 利用unity 来认识IoC..

 4.3.2 基于IoC 的HttpControllerActivator..

 4.3.3 基于IoC 的DependencyResolver.

第5 章 Action 的选择

 5.1 HttpActionDescriptor

 5.1.1 ReflectedHttpActionDescriptor

 5.1.2 ActionNameAttribute .

 5.1.3 方法名决定HTTP 方法..

 5.1.4 ActionHttpMethodProvider

 5.1.5 针对特性的缓存

 5.2 HttpParameterDescriptor..

 5.2.1 ReflectedHttpParameterDescriptor..

 5.2.2 实例演示:解析Action 方法参数描述信息.

 5.3 HttpActionSelector

 5.3.1 ApiControllerActionSelector..

 5.3.2 有效的Action 方法.

 5.3.3 目标Action 方法的选择

第6 章 特性路由.

 6.1 特性路由注册..

 6.1.1 HttpRouteInfoProvider 特性..

 6.1.2 基本路由映射.

 6.1.3 让URL 模板能够尽可能反映资源的层次结构..

 6.1.4 为路由变量设置约束.

 6.1.5 通配符路由变量..

 6.1.6 缺省路由变量..

 6.1.7 设置URI 前缀

 6.2 约束表达式的解析.

 6.2.1 RangeRouteConstraint ..

 6.2.2 InlineConstraintResolver .

 6.2.3 自定义约束.

 6.3 路由解析

 6.3.1 RouteCollectionRoute .

 6.3.2 实例演示:查看特性路由注册生成的RouteCollectionRoute 对象..

 6.3.3 子路由对象的创建.

 6.3.4 HttpRouteData 的生成..

第7 章 Model 绑定(上篇) .

 7.1 Model 绑定解决怎样的问题.

 7.1.1 基于HttpRouteData 的参数绑定.

 7.1.2 基于查询字符串的参数绑定..

 7.2 Model 元数据的解析..

 7.2.1 Model 元数据的层次化结构..

 7.2.2 ModelMetadata

 7.2.3 ModelMetadataProvider

 7.3 ValueProvider

 7.3.1 ValueProviderResult .

 7.3.2 NameValuePairsValueProvider .

 7.3.3 RouteDataValueProvider 与QueryStringValueProvider

 7.3.4 CompositeValueProvider ..

 7.4 ValueProviderFactory

 7.4.1 RouteDataValueProviderFactory 与QueryStringValueProviderFactory..

 7.4.2 CompositeValueProviderFactory..

 7.4.3 ValueProviderFactory 的注册..

 7.4.4 自定义ValueProviderFactory..

第8 章 Model 绑定(下篇) .

 8.1 ModelBinder .

 8.1.1 ModelBindingContext.

 8.1.2 去除前缀后的二次绑定..

 8.1.3 CompositeModelBinder

 8.2 ModelBinderProvider.

 8.2.1 CompositeModelBinderProvider.

 8.2.2 ModelBinderAttribute ..

 8.2.3 Model 绑定的流程.

 8.3 针对不同目标类型的Model 绑定..

 8.3.1 简单类型..

 8.3.2 复杂类型.

 8.3.3 集合.

 8.3.4 数组.

 8.3.5 字典.

 8.3.6 最后一个ModelBinder ..

 8.4 ModelState

 8.4.1 ApiController 的ModelState

 8.4.2 实例演示:获取Model 绑定过程中由ValueProvider 提供的数据(S808).

第9 章 参数的绑定

 9.1 参数绑定系统全景展示

 9.1.1 HttpParameterBinding.

 9.1.2 ActionValueBinder.

 9.2 5 个原生的HttpParameterBinding

 9.2.1 ModelBinderParameterBinding

 9.2.2 FormatterParameterBinding .

 9.2.3 HttpRequestParameterBinding

 9.2.4 CancellationTokenParameterBinding .

 9.2.5 ErrorParameterBinding ..

 9.3 HttpParameterBinding 的创建策略..

 9.3.1 ParameterBindingAttribute 特性..

 9.3.2 注册参数绑定规则

 9.3.3 HttpParameterBinding 的创建策略.

第10 章 参数的验证..

 10.1 几种参数验证方式..

 10.1.1 手工验证绑定的参数

 10.1.2 使用ValidationAttribute 特性

 10.1.3 创建自我验证数据类型

 10.2 以ModelValidator 为核心的参数验证系统.

 10.2.1 DataAnnotationsModelValidator ..

 10.2.2 RequiredMemberModelValidator..

 10.2.3 ValidatableObjectAdapter.

 10.2.4 ErrorModelValidator

 10.3 基于数据注解特性的参数验证..

 10.3.1 ValidationAttribute 特性..

 10.3.2 DataAnnotationsModelValidator .

 10.3.3 DataAnnotationsModelValidatorProvider

 10.4 参数验证流程

 10.4.1 ModelValidationNode .

 10.4.2 "验证树"是如何被建立起来的..

 10.4.3 "必需"数据成员的验证

 10.4.4 BodyModelValidator

第11 章 Action 的执行

 11.1 Action 方法的执行

 11.1.1 HttpActionInvoker ..

 11.1.2 ActionExecutor

 11.2 内容协商

 11.2.1 ContentNegotiator.

 11.2.2 MediaTypeFormatter 是如何被筛选出来的..

 11.2.3 如何确定响应字符集..

 11.3 HttpActionResult ..

 11.3.1 无响应主体的HttpActionResult ..

 11.3.2 含响应主体的HttpActionResult

 11.3.3 ResponSEMessageResult .

 11.4 HttpResponseMessage 的生成..

 11.4.1 ActionResultConverter..

 11.4.2 从消息处理管道来看HttpResponseMessage 的生成.

第12 章 过滤器

 12.1 Filter 及其提供机制..

 12.1.1 Filter..

 12.1.2 FilterProvider

 12.1.3 5 种Filter 类型

 12.2 认证与授权

 12.2.1 Identity.

 12.2.2 Principal .

 12.2.3 AuthenticationFilter.

 12.2.4 AuthorizationFilter

 12.3 针对Action 方法执行前后的拦截..

 12.3.1 ActionFilterAttribute.

 12.3.2 实例演示:利用自定义ActionFilter 实现对Action 方法执行结果

 的缓存..

 12.4 异常处理与Filter 的屏蔽..

 12.4.1 ExceptionFilter

 12.4.2 实例演示:利用自定义的ExceptionFilter 集成EntLib 进行异常

 处理(S1208)

 12.4.3 OverrideFilter .

第13 章 安全

 13.1 IIS/ASP.NET 认证..

 13.1.1 Basic 认证.

 13.1.2 Digest 认证

 13.1.3 集成Windows 认证.

 13.1.4 Forms 认证..

 13.2 SSL/TLS

 13.2.1 非对称加密

 13.2.2 通过SSL/TLS 实现传输安全

 13.2.3 SSL/TLS 的应用

 13.3 第三方认证..

 13.3.1 OAuth 2.0 简介

 13.3.2 Implicit Authorization Grant

 13.3.3 Authorization Code Authorization Grant ..

第14 章 跨域资源共享..

 14.1 同源策略..

 14.1.1 实例演示:跨域调用Web API..

 14.1.2 JSONP

 14.2 CORS 规范.

 14.2.1 资源的授权

 14.2.2 实例演示:利用自定义的MessageHandler 支持跨域资源共享

 14.3 CORS 在ASP.NET Web API 中的实现.

 14.3.1 实例演示:采用ASP.NET Web API 原生的机制实现跨域资源

 共享(S1406)

 14.3.2 CORS 授权策略及其提供机制.

 14.3.3 资源授权的检验和CORS 响应报头的生成.

 14.3.4 CorsMessageHandler

第15 章 Web API 的调用..

 15.1 HttpClient ..

 15.1.1 HttpMessageInvoker

 15.1.2 HttpClientHandler

 15.1.3 HttpClient.

 15.2 客户端消息处理管道.

 15.2.1 HttpMessageHandler 管道.

 15.2.2 HttpClientFactory .

 15.3 面向"对象"编程..

 15.3.1 将数据对象写入请求消息..

 15.3.2 读取HTTP 消息主体内容并反序列化为数据对象..

 附录A 实例列表.

课课家教育

未登录