《C#与.NET6 开发从入门到实践》预售,作者亲自来打广告了!


《C#与.NET6 开发从入门到实践》正式出版,欢迎广大网友前来围观!!

遥想我的上一篇文章,已经过去将近3年,期间断更的主要原因就是忙于书稿编写,也担心博客和书稿可能出现一些意外冲突。现在,书已经正式出版,我又开始更新博客了。

这是我第一次受出版社邀请写书,没有经验,中间经历了许多意外,导致预定为 .NET6写的书一直延期到.NET8预览版都放出了才上市,因此其中的极少部分内容和现状不符。但迫于大量改稿会导致已经基本完成的排版作废,所以没有再改动。好在.NET目前比较稳定,已经推出功能基本没有作废的情况,所以绝大部分内容依然适用于.NET 7/8。

内容简介

开始

本书以.NET6为基准编写,从常用C#基础、Visual Studio入门、.NET相关词汇的历史问题说明等方面开篇,力图让读者建立正确大图景,为之后的阅读学习准备坚实的基础。为方便有其他C系语言(C/C++、Java等)经验的读者利用已有知识进行迁移学习,C#语言基础包括一些常用的对比示例。初学者也可以从语言发展的历程中跟随开发者和语言设计师的脚步了解语言功能和语法为何出现,解决了什么问题,避免学习时出现一看就会,一写就废的问题。

EF Core

作为.NET的主要功能,本书从实体建模、关系配置、数据库迁移和数据管理等方面细致介绍EF Core的主要用法。由于EF Core属于上层框架,更新改动较为频繁,请关注官方更新日志了解最新动态。

ASP.NET Core

ASP.NET Core是本书最主要的内容,之前介绍EF Core也是在为此做准备。现在的互联网是Web的天下,基本上除了大型游戏,浏览器已经能解决大多数网民的交互需求,得益于HTML和CSS在界面设计上的便利性,很多程序也变成了套壳浏览器(甚至包括VS Code这种功能复杂的产品)。
本书详细介绍了从依赖注入、配置选项、中间件管道、认证和授权等基础知识到Razor Pages等高级功能。Blazor作为目前.NET主推的现代Web应用框架,本书作为重点进行介绍。除此之外,Web API、SignalR、gRPC等也在介绍之列。

附加功能

除了ASP.NET Core内置组件外,本书还重点介绍了GraphQL框架(HotChocolate),为复杂数据接口提供更多选型方案。.NET一直非常重视与其他语言交互的功能,本书也介绍了与的C/C++交互用的辅助框架CppSharp。还有更多其他附加功能,限于篇幅无法一一展示,各位读者可以在需要时进入他们的官方网站进一步了解。

综合实践

本书在最后准备了一个综合实践项目,把之前介绍的重点内容串联到项目中,让读者一次性打通知识的学习和使用。综合实践使用本地git仓库托管,可以随时查看历史版本,了解复杂项目是如何一步步成型的,同时避免读者直接被淹没在成品的大量代码中感到迷茫(其他章节也有知识点示例代码,可以到出版社的资料下载点下载)。

主要内容一览

第一篇 .NET 6基础
第1章 构建.NET 6开发环境
1.1 .NET、.NET Core、.NET Standard与 .NET Framework
1.2 ASP.NET Core与 ASP.NET
1.3 其他 .NET应用模型
1.4 Visual Studio简介
1.5 安装Visual Studio

第2章 Visual Studio 解决方案和项目
2.1 解决方案和项目简介
2.2 创建解决方案和项目
2.3 引用其他项目和第三方程序包
2.4 .NET主要项目类型
2.5 解决方案和项目文件解析

第3章 C# 发展史

第二篇 Entity Framework Core
第4章 快速入门

第5章 实体模型
5.1 实体类型和实体模型配置
5.2 全局查询过滤器
5.3 自定义实体模型注解
5.4 自定义数据库函数和映射
5.5 在一个上下文类型中使用多个模型

第6章 实体模型的关系
6.1 概念和术语简介
6.2 实体模型的关系与影子属性
6.3 一对一关系
6.4 一对多关系
6.5 多对多关系
6.6 模型关系的级联删除

第7章 管理实体模型和数据库架构
7.1 迁移
7.2 逆向工程
7.3 EF Core Power Tools

第8章 管理数据
8.1 基础保存
8.2 保存相关实体
8.3 并发冲突
8.4 事务
8.5 异步保存
8.6 实体跟踪器和实体追踪图

第9章 查询数据
9.1 基础查询
9.2 复杂查询
9.3 原始SQL查询
9.4 映射的自定义函数
9.5 加载相关数据
9.6 跟踪和非跟踪查询
9.7 显式编译查询
9.8 查看生成的SQL语句
9.9 服务端查询和客户端查询
9.10 命令拦截器
9.11 异步查询

第10章 Entity Framework Core 共享功能
10.1 配置上下文
10.2 自动重试
10.3 内存数据库

第三篇 ASP.NET Core
第11章 快速入门

第12章 公共基础
12.1 依赖注入
12.2 配置
12.3 选项
12.4 日志
12.5 主机
12.6 中间件和请求处理管道
12.7 Startup类
12.8 静态文件
12.9 动态响应和静态资源压缩
12.10 缓存
12.11 流量控制
12.12 端点路由
12.13 发送HTTP请求
12.14 错误处理
12.15 托管和部署

第13章 身份认证
13.1 基础身份认证
13.2 ASP.NET Core Identity
13.3 OpenIddict

第14章 授权
14.1 定义授权策略
14.2 配置授权策略
14.3 高级功能简介

第15章 MVC
15.1 简介
15.2 模型
15.3 控制器和动作
15.4 MVC过滤器
15.5 视图
15.6 区域
15.7 MVC路由
15.8 应用程序模型
15.9 应用程序部件

第16章 Razor Pages
16.1 简介
16.2 基础使用
16.3 页面处理器
16.4 模型绑定
16.5 Razor Pages过滤器
16.6 Razor Pages路由

第17章 Blazor
17.1 简介
17.2 公共基础
17.3 Razor组件
17.4 服务端预渲染
17.5 布局
17.6 发送HTTP请求
17.7 JavaScript互操作
17.8 状态管理
17.9 程序集延迟加载
17.10 渐进式Web应用
17.11 调试
17.12 托管和部署

第18章 Razor类库
18.1 简介
18.2 静态资源组织

第19章 Web API
19.1 基础使用
19.2 API版本、Open API和Swagger

第20章 远程过程调用
20.1 WCF回顾
20.2 gRPC

第21章 实时通信
21.1 早期解决方案回顾
21.2 WebSocket简介
21.3 SignalR

第22章 应用安全
22.1 数据保护
22.2 管理机密
22.3 欧盟通用数据保护条例(GDPR)
22.4 防御恶意攻击
22.5 一般安全功能

第23章 高级功能
23.1 全球化和本地化
23.2 GraphQL
23.3 Elsa
23.4 MiniProfiler

第24章 其他 .NET功能
24.1 C/C++互操作
24.2 程序集的动态载入和卸载

第四篇 实战演练
第25章 电子商城项目
25.1 项目定位
25.2 需求分析
25.3 架构设计
25.4 创建解决方案和Git存储库
25.5 定义应用域的通用抽象接口
25.6 开发通用基础设施
25.7 开发身份认证和授权中心
25.8 开发买家商城
25.9 开发卖家管理中心

购买方式

(敬请期待)