• ASP.NET Web API设计
21年品牌 40万+商家 超1.5亿件商品

ASP.NET Web API设计

60.39 6.1折 99 全新

库存6件

北京房山
认证卖家担保交易快速发货售后保障

作者[美]Glenn Block,[美]Pablo Cibraro

出版社人民邮电出版社

ISBN9787115377722

出版时间2014-11

装帧平装

开本16开

定价99元

货号8383985

上书时间2024-12-16

鸿运图书专营店

十年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
Glenn Block 曾在ASP.NET 团队工作,负责开发ASP.NET Web API 的早期版本,现在就职于Splunk,改善开发人员访问大数据的能力。作为一名拥有近20 年经验的职业程序员,Block 一直在努力改进开发人员的工作。Block 醉心编码,据说“极少睡觉”,还是云开发的积极支持者,在微软Windows Azure 对OSS 栈的支持中起了关键作用。Block 是Node.js 和.NET OSS 项目的热心参与者、社区支持者,还经常在国际会议上发言。Block 与妻女现居住在西雅图。
Pablo Cibraro 是Tellago 公司的一位软件架构师,也是一位享有国际声誉的专家,拥有十余年系统架构和使用微软技术实施大型分布式系统的经验。Cibraro 在过去几年间与微软公司的模式和实践团队直接合作,为使用Web 服务、Web 服务增强(WSE)和WCF 构建面向服务的应用程序提供示例程序、模式和指南。
Pedro Félix 居住在葡萄牙里斯本,教授和研究编程与计算机安全相关的课题。
Howard Dierking 是微软WCF Web API 团队的产品经理,主要负责AppFabric。在此之前,Dierking 在微软担任过其他多个角色,其中有《MSDN 杂志》的主编和Microsoft Learning的产品规划专员。
Darrel Miller 是Tavis 软件公司的合伙人,这是一家专为制造业提供软件解决方案和服务的公司。Miller 的工作是向人们展示如何在业务应用程序中采用REST 架构风格。

目录
作者简介  XV
关于封面图  XVI
序   XVII
前言  XX
第一部分 基础知识
第1章 因特网、万维网和HTTP协议  3
1.1 Web体系结构  4
1.1.1 资源  5
1.1.2 URI  5
1.1.3 酷URI  6
1.1.4 表示  6
1.1.5 媒体类型  7
1.2 HTTP协议  8
1.2.1 HTTP 1.1之后  9
1.2.2 HTTP消息交换  9
1.2.3 中间层  10
1.2.4 中间层类型  11
1.2.5 HTTP方法  12
1.2.6 标头  15
1.2.7 HTTP状态码  16
1.2.8 内容协商  16
1.2.9 缓存  16
1.2.10 身份验证  19
1.2.11 身份验证方案  20
1.2.12 附加身份验证方案  20
1.3 小结  21
第2章 Web API  22
2.1 什么是Web API  22
2.2 SOAP Web服务  22
2.3 Web API的起源  23
2.4 Web API革命开始  23
2.5 关注Web  23
2.6 Web API指南  24
2.7 特定领域的媒体类型  24
2.8 媒体类型档案  25
2.9 多个表示  26
2.10 API 风格  27
2.10.1 Richardson成熟度模型  28
2.10.2 RPC(RMM 第0级)  28
2.10.3 资源(RMM 第1级)  30
2.10.4 HTTP 谓词(RMM 第2级)  32
2.10.5 以资源为中心的API  34
2.10.6 超媒体(RMM 第3级)  35
2.10.7 REST  39
2.10.8 REST约束  39
2.11 小结  41
第3章 ASP.NET Web API 101  42
3.1 核心场景  42
3.1.1 第一类HTTP编程  43
3.1.2 对称的客户端和服务器编程体验  44
3.1.3 对不同格式的灵活支持  45
3.1.4 告别“尖括号编码”  45
3.1.5 支持单元测试  45
3.1.6 多种托管选项  46
3.2 ASP.NET Web API入门  46
3.3 新建Web API项目  50
3.3.1 WebApiConfig  50
3.3.2 ValuesController  52
3.4“Hello Web API!”  53
3.4.1 创建服务  53
3.4.2 客户端  60
3.4.3 宿主  60
3.5 小结  61
第4章 处理架构  62
4.1 托管层  64
4.2 消息处理程序管道  65
4.3 控制器处理  69
4.4 小结  75
第二部分 真实世界的API开发
第5章 应用程序  79
5.1 为什么要可演化  80
5.1.1 演化的障碍  81
5.1.2 代价是什么  81
5.1.3 为什么不创建新版本  83
5.1.4 付诸实践  86
5.2 应用程序目标  86
5.2.1 目标  86
5.2.2 机会  87
5.3 信息模型  87
5.3.1 子域  88
5.3.2 相关资源  88
5.3.3 属性组  89
5.3.4 属性组的集合  90
5.3.5 信息模型与媒体类型  90
5.3.6 问题集合  91
5.4 资源模型  92
5.4.1 根资源  92
5.4.2 搜索资源  92
5.4.3 集合资源  92
5.4.4 个体资源  93
5.5 小结  95
第6章 媒体类型选择与设计  96
6.1 自描述  96
6.2 协议类型  97
6.3 媒体类型  97
6.3.1 原始格式  97
6.3.2 流行格式  99
6.3.3 新格式  100
6.3.4 超媒体类型  102
6.3.5 媒体类型爆炸  102
6.3.6 通用媒体类型和档案  102
6.3.7 其他超媒体类型  106
6.4 链接关系类型  107
6.4.1 语义  107
6.4.2 替换嵌入资源  109
6.4.3 间接层  109
6.4.4 引用数据  110
6.4.5 工作流   111
6.4.6 语法  112
6.4.7 完美结合  114
6.5 设计新的媒体类型协议  114
6.5.1 选择格式  115
6.5.2 支持超媒体  116
6.5.3 可选、强制、省略和适用  116
6.5.4 嵌入元数据和外部元数据  117
6.5.5 可扩展性  117
6.5.6 注册媒体类型  119
6.6 设计新的链接关系  119
6.6.1 标准链接关系  119
6.6.2 扩展链接关系  120
6.6.3 嵌入链接关系  121
6.6.4 注册链接关系  121
6.7 问题跟踪域中的媒体类型  121
6.7.1 list资源  122
6.7.2 item资源  123
6.7.3 discovery资源  124
6.7.4 search资源  125
6.8 小结  125
第7章 构建API  126
7.1 设计  126
7.2 获得源代码  127
7.3 使用行为驱动开发构建实现  127
7.4 浏览解决方案  127
7.5 软件包和程序库  128
7.6 自托管  128
7.7 模型和服务  130
7.7.1 问题和问题库  130
7.7.2 IssueState  130
7.7.3 IssuesState  131
7.7.4 Link  133
7.7.5 LinkeStateFactory  133
7.7.6 LinkFactory  134
7.7.7 IssueLinkFactory  135
7.8 验收标准  136
7.9 功能:获取问题  139
7.9.1 获取一个问题  142
7.9.2 获取未关闭的和已关闭的问题  144
7.9.3 获取不存在的问题  146
7.9.4 获取所有问题  147
7.9.5 获取所有问题的Collection+Json表示  150
7.9.6 搜索问题  152
7.10 功能:创建问题  153
7.11 功能:更新问题  156
7.11.1 更新一个问题  156
7.11.2 更新不存在的问题  158
7.12 功能:删除问题  159
7.12.1 删除一个问题  159
7.12.2 删除不存在的问题  160
7.13 功能:处理问题  161
7.13.1 测试  161
7.13.2 实现  161
7.14 小结  163
第8章 改进API  164
8.1 新功能的验收标准  164
8.2 实现输出缓存支持  166
8.3 添加输出缓存测试  167
8.4 实现缓存重验证  169
8.5 为缓存重验证实现条件GET  170
8.6 冲突检测  173
8.7 实现冲突检测  174
8.8 变更审计  176
8.9 使用Hawk认证实现变更审计  177
8.10 跟踪  181
8.11 实现跟踪  182
8.12 小结  184
第9章 构建客户端  185
9.1 客户端程序库  186
9.1.1 封装库  186
9.1.2 链接用作函数  189
9.2 应用程序工作流  194
9.2.1 用户需知  195
9.2.2 带有使命的客户端  198
9.2.3 客户端状态  201
9.3 小结  201
第三部分 Web API细节
第10章 HTTP编程模型  205
10.1 消息  206
10.2 标头  210
10.3 消息内容  215
10.3.1 使用消息内容  216
10.3.2 创建消息内容  218
10.4 小结  226
第11章 托管  227
11.1 Web托管  228
11.1.1 ASP.NET基础结构  228
11.1.2 ASP.NET路由  230
11.1.3 Web API路由  232
11.1.4 全局配置  234
11.1.5 Web API ASP.NET处理程序  235
11.2 自托管  238
11.2.1 WCF 架构  238
11.2.2 HttpSelfHostServer类  240
11.2.3 HttpSelfHostConfiguration类   241
11.2.4 URL 预留和访问控制  242
11.3 用OWIN和Katana托管Web API  243
11.3.1 OWIN  244
11.3.2 Katana项目  245
11.3.3 Web API配置  247
11.3.4 Web API中间件  248
11.3.5 OWIN生态环境  250
11.4 内存托管  250
11.5 Azure Service Bus Host  252
11.6 小结  256
第12章 控制器和路由  257
12.1 HTTP消息流概览  257
12.2 消息处理程序管道  258
12.2.1 分发程序  262
12.2.2 HttpControllerDispatcher  263
12.2.3 控制器选择  263
12.2.4 控制器激活  266
12.3 控制器管道  267
12.3.1 ApiController  267
12.3.2 ApiController 处理模型  268
12.4 小结  279
第13章 格式化程序和模型绑定  280
13.1 ASP.NET Web API中模型的重要性  280
13.2 模型绑定如何工作  281
13.3 内建的模型绑定器  284
13.3.1 ModelBindingParameterBinder   284
13.3.2 值提供程序  285
13.3.3 模型绑定器  288
13.3.4 只对URI进行模型绑定  290
13.3.5 FormatterParameterBinder实现   291
13.3.6 HttpParameterBinding的默认选择   296
13.4 模型验证  296
13.4.1 将数据标记属性用于模型  296
13.4.2 查询验证结果  297
13.5 小结  299
第14章 HttpClient  300
14.1 HttpClient类  300
14.1.1 生存周期  301
14.1.2 封装类  301
14.1.3 多个实例  302
14.1.4 线程安全  302
14.1.5 辅助方法  302
14.1.6 抽丝剥茧  303
14.1.7 完成的请求无异常  303
14.1.8 内容为王  303
14.1.9 取消请求  304
14.1.10 SendAsync  305
14.2 客户端消息处理程序  306
14.2.1 代理处理程序  308
14.2.2 伪响应处理程序  309
14.2.3 创建可以重用的响应处理程序   310
14.3 小结  311
第15章 安全  312
15.1 传输安全  312
15.2 在ASP.NET Web API中使用TLS  314
15.2.1 IIS 托管时使用TLS  314
15.2.2 自托管时使用TLS  316
15.3 身份验证  316
15.3.1 声明模型  317
15.3.2 获取和设置当前用户对象  321
15.3.3 基于传输的身份验证  321
15.3.4 服务器身份验证  322
15.3.5 客户端身份验证  325
15.3.6 HTTP身份验证框架  331
15.3.7 实现基于HTTP的身份验证  333
15.3.8 Katana身份验证中间件  334
15.3.9 主动和被动的身份验证中间件   338
15.3.10 Web API身份验证筛选器  339
15.3.11 基于令牌的身份验证  342
15.3.12 Hawk身份验证方案  348
15.4 授权  350
15.4.1 授权执行  351
15.4.2 跨域资源共享  354
15.4.3 ASP.NET Web API 的CORS支持   357
15.5 小结  359
第16章 OAuth 2.0授权框架  360
16.1 客户端应用程序  362
16.2 访问受保护资源  364
16.3 获得访问令牌  365
16.4 授权码授予  367
16.5 范围  369
16.6 前通道与后通道  370
16.7 刷新令牌  371
16.8 资源服务器和授权服务器  372
16.9 在ASP.NET Web API中处理访问令牌   373
16.10 OAuth 2.0与身份验证  375
16.11 基于范围的授权  378
16.12 小结  379
第17章 可测试性  380
17.1 单元测试  380
17.1.1 使用测试框架  381
17.1.2 Visual Studio单元测试入门  381
17.1.3 xUnit.NET  383
17.1.4 单元测试在测试驱动开发中的作用   384
17.2 对ASP.NET Web API实现进行单元测试   387
17.2.1 测试ApiController  387
17.2.2 测试MediaTypeFormmater  393
17.2.3 单元测试HttpMessageHandler  396
17.2.4 测试ActionFilterAttribute  397
17.3 对路由进行单元测试  401
17.4 ASP.NET Web API的集成测试  402
17.5 小结  404
附录A 媒体类型  405
附录B HTTP标头  406
附录C 内容协商  409
附录D 缓存实战  413
附录E 身份验证工作流  417
附录F application/issue+json媒体类型规范   420
附录G 公钥加密和证书  422

内容摘要
 布洛克等编著的这本《ASP.NETWebAPI设计》依托ASRNETWebAPI阐述API设计与开发的通用技术,是一本全面介绍如何构建真实可演化API的实践指南。本书共分三部分。第一部分介绍Web/HTTP和API开发的基础知识,介绍ASP.NETWebAPI,为初学者以及想充分利用HTTP的读者建立好的起点。第二部分完整介绍了真实Web应用程序的开发,其内容从设计讲到实现,全面覆盖客户端与服务器端开发。第三部分深入ASRNETWebAPI的内部机制,并讲解一些高级的主题(如安全和可测试性),加深你的理解,让读者学会更好地利用WebAPI构建可演化系统。
本书适合使用.NET、Java、RubV、PHP、Node等各平台API的开发人员学习参考。

精彩内容
本书依托ASP.NET Web API 阐述API 设计与开发的通用技术,是一本全面介绍如何构建真实可演化API 的实践指南。本书共分三部分。第一部分介绍Web/HTTP 和API 开发的基础知识,介绍ASP.NET Web API,为初学者以及想充分利用HTTP 的读者建立好的起点。第二部分完整介绍了真实Web 应用程序的开发,其内容从设计讲到实现,全面覆盖客户端与服务器端开发。第三部分深入ASP.NET Web API 的内部机制,并讲解一些高级的主题(如安全和可测试性),加深你的理解,让读者学会更好地利用Web API 构建可演化系统。
  本书适合使用.NET、Java、Ruby、PHP、Node 等各平台API 的开发人员学习参考。

媒体评论
如何为浏览器和移动设备等多客户端设计和构建可演化Web API?本书以ASP.NET Web API框架为例,系统介绍了相关的理论和工具,让读者全面掌握设计和实现可演化Web API的技术。
  《ASP.NET Web API设计》主要面向有经验的.NET开发人员。不过,书中关于Web API基础理论和设计的内容同样适用于Java、Ruby、PHP和Node等开发者。
★“这本书提供了及时而全面的指南,帮助人们使用ASP.NET Web API构建坚实的系统,融合了ASP.NET Web API团队的经验与软件业界多年的专业积累。”
  ——Scott Guthrie 微软“云和企业”副总裁

  ★“第1次获悉本书时,我就急切地想读,原因有二。首先,我当前的工作中涉及为应用设计API以使之与多种系统交互。其次,是因为本书的一位作者——Glenn Block,我认识他有段时间了,我见过他,与他有过对话,读了他的大量博文,我确定本书不会让人失望,而事实证明确实如此。”
  ——Joseph Guadagno 亚利桑那Southeast Valley .NET用户组创始人

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP