ASP.NET Web API设计txt,chm,pdf,epub,mobi下载 作者: [美] Glenn Block / [美]Pablo Cibraro / [美]Pedro Félix / [美]Howard Dierking / [美]Darrel Miller 出版社: 人民邮电出版社 译者: 金 迎 出版年: 2014-12 页数: 456 定价: 99.00元 装帧: 平装 ISBN: 9787115377722 内容简介 · · · · · ·深入理解HTTP,以及API开发的概念和风格 ASP.NET Web API基础知识,包括该框架处理HTTP请求的生命周期 以“问题跟踪”API为例,探讨用Collection+JSON实现超媒体支持 采取BDD(行为驱动开发)方式开发ASP.NET Web API,实现和改进应用 探索可响应变化的客户端技术,使客户端便于使用超媒体API 全面介绍ASP.NET Web API的内部工作机制,包括安全性和可测试性 作者简介 · · · · · ·作者简介 Glenn Block 曾任职微软,推动了ASP.NET Web API早期版本的开发。 Pablo Cibraro 拥有十余年使用微软技术设计和实现大型分布式系统的经验。 Pedro Félix 是一位软件工程师和教授,研究方向为基础设施实现、用户身份管理,以及访问控制。 Howard Dierking 是微软ASP.NET Web API团队的产品经理,当前的工作重点包括NuGet和Katana项目。 Darrel Miller 是Tavis软件公司的创始人之一,帮助人们学习如何在业务应用中采用REST架构风格。 译者简介: 金迎 1997年毕业于北京大学计算机系,从事软件开发工作数年。2004年毕业于中科院计算所计算机应用技术专业,之后进入软件测试行业,具有丰富的手工和自动化测试的项目经验。 目录 · · · · · ·作者简介 XV关于封面图 XVI 序 XVII 前言 XX 第一部分 基础知识 第1章 因特网、万维网和HTTP协议 3 · · · · · · () 作者简介 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.NET Web API设计"试读 · · · · · ·本书封面上的动物是疣螈(学名Triturus cristatus),又名北螈或巨冠蝾螈。这种两栖动物分布于欧洲北部,从英国一直到黑海。疣螈是生活在不列颠群岛上的三种蝾螈中最大最稀有的一种,在当地受到生物多样性行动计划的保护。生物多样性行动计划致力于将濒危物种进行统计并形成保护计划。 疣螈大部分时间呆在陆地上,但是会回到池塘中进行繁殖。幼虫大约三周后孵化,并在水下生长一段时间,... |
很不一样的体验
开始看的很有意思
生动有趣的诠释了
很好。挺不错的。