内容简介
第Ⅰ部分 新ASP.NET一览
第1章 为什么又开发一个ASP.NET
1.1 .NET平台现状
1.1.1 .NET平台的亮点
1.1.2 .NET Framework
1.1.3 ASP.NET Framework
1.1.4 Web API框架
1.1.5 对极简Web服务的需求
1.2 15年过去后的.NET
1.2.1 更简洁的.NETFramework
1.2.2 将ASP. NET与宿主解耦
1.2.3 新的ASP.NETCore
1.3 .NET Core的命令行工具
1.3.1 安装CLI工具
1.3.2 dotnet驱动程序工具
1.3.3 dotnet的预定义命令
1.4 小结
第2章 第一个ASP.NETCore项目
2.1 ASP.NET Core项目的分析
2.1.1 项目结构
2.1.2 与运行时环境交互
2.2 依赖注入子系统
2.2.1 依赖注入一览
2.2.2 ASP.NET Core中的依赖注入
2.2.3 与外部DI库集成
2.3 构建极简网站
2.3.1 创建单端点网站
2.3.2 访问Web服务器上的文件
2.4 小结
第Ⅱ部分 ASP.NET MVC应用程序模型
第3章 启动ASP.NET MVC
3.1 启用MVC应用程序模型
3.1.1 注册MVC服务
3.1.2 启用传统路由
3.2 配置路由表
3.2.1 路由的剖析
3.2.2 路由的高级方面
3.3 ASP.NET MVC的机制
3.3.1 操作调用程序
3.3.2 处理操作结果
3.3.3 操作筛选器
3.4 小结
第4章 ASP.NET MVC控制器
4.1 控制器类
4.1.1 发现控制器的名称
4.1.2 继承的控制器
4.1.3 POCO控制器
4.2 控制器操作
4.2.1 将操作映射到方法
4.2.2 基于特性的路由
4.3 实现操作方法
4.3.1 基本数据获取
4.3.2 模型绑定
4.3.3 操作结果
4.4 操作筛选器
4.4.1 操作筛选器的剖析
4.4.2 操作筛选器的小集合
4.5 小结
第5章 ASP.NET MVC视图
5.1 提供HTML内容
5.1.1 从终止中间件提供HTML
5.1.2 从控制器提供HTML
5.1.3 从Razor页面提供HTML
5.2 视图引擎
5.2.1 调用视图引擎
5.2.2 Razor视图引擎
5.2.3 添加自定义视图引擎
5.2.4 Razor视图的结构
5.3 向视图传递数据
5.3.1 内置的字典
5.3.2 强类型视图模型
5.3.3 通过DI系统注入数据
5.4 Razor页面
5.4.1 引入Razor页面的理由
5.4.2 Razor页面的实现
5.4.3 从Razor页面提交数据
5.5 小结
第6章 Razor语法
6.1 语法元素
6.1.1 处理代码表达式
6.1.2 布局模板
6.1.3 分部视图
6.2 Razor标记帮助程序
6.2.1 使用标记帮助程序
6.2.2 内置的标记帮助程序
6.2.3 编写自定义标记帮助程序
6.3 Razor视图组件
6.3.1 编写视图组件
6.3.2 Composition UI模式
6.4 小结
第Ⅲ部分 跨领域关注点
第7章 设计考虑
7.1 依赖注入基础结构
7.1.1 进行重构以隔离依赖
7.1.2 ASPNET Core DI系统概述
7.1.3 DI容器的各个方面
7.1.4 在层中注入数据和服务
7.2 收集配置数据
7.2.1 支持的数据提供程序
7.2.2 构建配置文档对象模型
7.2.3 传递配置数据
7.3 分层架构
7.3.1 表示层
7.3.2 应用层
7.3.3 领域层
7.3.4 基础结构层
7.4 处理异常
7.4.1 异常处理中间件
7.4.2 异常筛选器
7.4.3 记录异常
7.5 小结
第8章 应用程序安全
8.1 Web安全基础结构
8.1.1 HTTPS协议
8.1.2 处理安全证书
8.1.3 对HTTPS应用加密
8.2 ASP.NET Core中的身份验证
8.2.1 基于cookie的身份验证
8.2.2 处理多个身份验证方案
8.2.3 建模用户身份
8.2.4 外部身份验证
8.3 通过ASP.NET Identity进行用户身份验证
8.3.1 ASP.NET Identity概述
8.3.2 使用User Manager
8.4 授权策略
8.4.1 基于角色的授权
8.4.2 基于策略的授权
8.5 小结
第9章 访问应用程序数据
9.1 创建相对通用的应用程序后端
9.1.1 整体式应用程序
9.1.2 CQRS方法
9.1.3 基础结构层的构成
9.2 .NET Core中的数据访问
9.2.1 Entity Framework 6.x
9.2.2 ADO.NET适配器
9.2.3 使用微型O/RM框架
9.2.4 使用NoSQL存储
9.3 EF Core的常见任务
9.3.1 建模数据库
9.3.2 处理表数据
9.3.3 处理事务
9.3.4 关于异步数据处理
9.4 小结
第Ⅳ部分 前端
第10章 设计Web API
10.1 使用ASP.NET Core构建Web API
10.1.1 公开HTTP端点
10.1.2 文件服务器
10.2 设计RESTful接口
10.2.1 REST简介
10.2.2 在ASP.NET Core中使用REST
10.3 保护Web API的安全
10.3.1 只计划真正需要的安全性
10.3.2 较为简单的访问控制方法
10.3.3 使用身份管理服务器
10.4 小结
第11章 从客户端提交数据
11.1 组织HTML表单
11.1.1 定义HTML表单
11.1.2 Post-Redirect-Get模式
11.2 通过JavaScript提交表单
11.2.1 上传表单内容
11.2.2 刷新当前屏幕的一部分
11.2.3 将文件上传到Web服务器
11.3 小结
第12章 客户端数据绑定
12.1 通过HTML刷新视图
12.1.1 准备工作
12.1.2 定义可刷新区域
12.1.3 综合运用
12.2 通过JSON刷新视图
12.2.1 Mustache.JS库简介
12.2.2 KnockoutJS库简介
12.3 构建Web应用程序的Angular方法
12.4 小结
第13章 构建设备友好的视图
13.1 根据实际设备调整视图
13.1.1 HTML 5在开发设备应用方面的优势
13.1.2 特征检测
13.1.3 客户端设备检测
13.1.4 Client Hints即将问世
13.2 对设备友好的图片
13.2.1 PICTURE元素
13.2.2 ImageEngine平台
13.2.3 自动调整图片大小
13.3 面向设备的开发策略
13.3.1 以客户端为中心的策略
13.3.2 以服务器为中心的策略
13.4 小结
第Ⅴ部分 ASP.NET Core生态系统
第14章 ASP.NET Core的运行时环境
14.1 ASP.NET Core的宿主
14.1.1 WebHost类
14.1.2 自定义宿主设置
14.2 内置的HTTP服务器
14.2.1 选择HTTP服务器
14.2.2 配置反向代理
14.2.3 Kestrel的配置参数
14.3 ASP.NET Core的中间件
14.3.1 管道架构
14.3.2 编写中间件组件
14.3.3 打包中间件组件
14.4 小结
第15章 部署ASP.NET Core应用程序
15.1 发布应用程序
15.1.1 在Visual Studio内发布应用程序
15.1.2 使用CLI工具发布应用程序
15.2 部署应用程序
15.2.1 部署到IIS
15.2.2 部署到MicrosoAzure
15.2.3 部署到Linux
15.3 Docker容器
15.3.1 容器与虚拟机
15.3.2 从容器到微服务架构
15.3.3 Docker与VisualStudio 201
15.4 小结
第16章 迁移和采用策略
16.1 寻找商业价值
16.1.1 寻找益处
16.1.2 brownfield开发
16.1.3 greenfield开发
16.2 yellowfield策略概述
16.2.1 处理缺失的依赖
16.2.2 .NET PortabiliAnalyzer
16.2.3 Windows CompatibiliPack
16.2.4 推迟跨平台挑战
16.2.5 走向微服务架构
16.3 小结