深入浅出ASP.NETCore
¥
33.61
2.4折
¥
139
九五品
仅1件
作者 梁桐铭 著
出版社 人民邮电出版社
出版时间 2020-09
版次 1
装帧 平装
货号 A7
上书时间 2024-10-30
商品详情
品相描述:九五品
图书标准信息
作者
梁桐铭 著
出版社
人民邮电出版社
出版时间
2020-09
版次
1
ISBN
9787115541093
定价
139.00元
装帧
平装
开本
16开
页数
696页
字数
1036千字
【内容简介】
本书是一本系统地介绍ASP.NET Core、Entity Framework Core以及ASP.NET Core Identity框架技术的入门图书,旨在帮助读者循序渐进地了解和掌握ASP.NET Core。本书使用ASP.NET Core从零开始搭建一个实际的项目。从基本的控制台应用程序开始,介绍ASP.NET Core基本的启动流程,涵盖ASP.NET Core框架中各个技术的实际应用。同时,本书也会介绍一些ASP.NET Core的高级概念。在本书中,我们会开发一个学校管理系统,其中包含清晰的操作步骤和大量的实际代码,以帮助读者学以致用,将ASP.NET Core的知识运用到实际的项目开发当中,最后我们会将开发的项目部署到生产环境中。通过阅读本书,读者将掌握使用ASP.NET Core开发Web应用程序的方法,并能够在对新项目进行技术选型时做出战略决策。 本书适合有一定C# 编程经验和HTML、JavaScript基础,并对ASP.NET Core感兴趣的读者阅读,也可以作为高等院校相关专业的教学用书和培训学校的教材。
【作者简介】
梁桐铭,微软最有价值专家、Microsoft AI Open Hack教练、Microsoft Tech Summit 2018讲师,52ABP开源框架作者。2015年开始在国内推广ASP.NET Boilerplate Project开源框架。拥有多年开发经验与技术团队管理经验,熟悉互联网及电商业。负责过多个大型项目的开发和管理,擅长应用系统项目的规划设计、及企业解决方案的设计。
【目录】
第 一部分 第 1章 编程语言和 .NET的关系 2 1.1 编程语言 2 1.2 编程语言中的C#、 F#和VB.NET 2 1.3 C#与.NET 3 1.4 小结 3 第 2章 .NET平台 4 2.1 回顾.NET发展历史 4 2.1.1 .NET Framework 4 2.1.2 .NET Framework与Java 5 2.1.3 .NET的跨平台之路 5 2.2 Mono神奇的跨平台解决方案 6 2.3 .NET Standard 6 2.4 .NET Core 7 2.4.1 .NET Core的特点 7 2.4.2 .NET Core 3.1 8 2.5 .NET Core与其他平台 8 2.5.1 .NET Core与.NET Framework 8 2.5.2 .NET Core与Mono 8 2.5.3 .NET Core与ASP .NET Core 8 2.6 ASP .NET的发展历程 9 2.7 ASP.NET Core的未来发展 9 2.8 小结 10 第3章 .NET 5的统一整合方案 11 3.1 进化中的.NET 11 3.2 .NET 5 (.NET Core vNext) 12 3.3 .NET Core实现真正的统一开发平台 13 3.4 小结 14 第4章 创建ASP.NET Core项目 15 4.1 ASP.NET Core 15 4.2 ASP.NET Core的特性 15 4.3 配置计算机的开发环境 17 4.3.1 下载并安装Visual Studio 2019 17 4.3.2 下载并安装.NET Core SDK 18 4.4 创建ASP.NET Core Web程序 18 4.5 内置的ASP.NET Core模板说明 20 4.6 小结 21 第5章 ASP.NET Core项目启动流程 23 5.1 ASP.NET Core项目文件 23 5.2 ASP.NET Core项目的入口 25 5.3 ASP.NET Core中的进程内与进程外托管模型 26 5.3.1 进程内托管 27 5.3.2 Kestrel 28 5.3.3 CLI 28 5.4 ASP.NET Core进程外托管 29 5.5 探讨几个问题 30 5.6 小结 31 第6章 ASP.NET Core中的配置文件 33 6.1 启动配置信息 33 6.2 通过GUI来设置launchSettings文件 35 6.3 ASP.NET Core appsettings.json文件 36 6.3.1 访问配置信息 37 6.3.2 appsettings.json 39 6.3.3 用户机密 39 6.3.4 环境变量 41 6.3.5 命令行参数 41 6.4 ASP.NET Core IConfiguration服务与依赖注入 42 6.5 小结 44 第7章 ASP.NET Core中的中间件及其工作原理 45 7.1 中间件 45 7.2 中间件在ASP.NET Core中的工作原理 47 7.3 配置ASP.NET Core请求处理管道 48 7.4 Configure()代码解析 49 7.4.1 中间件掌握测试 49 7.4.2 中间件传递 50 7.4.3 实践中间件的工作流程 50 7.5 小结 52 第8章 ASP.NET Core中的静态文件中间件 54 8.1 添加静态文件中间件 54 8.2 支持默认文件 55 8.3 自定义默认文件 56 8.4 UseFileServer中间件 56 8.5 小结 57 第9章 ASP.NET Core开发人员异常页面 58 9.1 UseDeveloperExceptionPage中间件 58 9.2 自定义UseDeveloperExceptionPage中间件 60 9.3 UseDeveloperExceptionPage中间件如何工作 60 9.4 ASP.NET Core中的环境变量配置 61 9.5 配置ASPNETCORE_ENVIRONMENT变量 62 9.6 IWebHostEnvironment服务中的常用方法 64 9.7 小结 65 第二部分 第 10章 详解ASP.NET Core MVC的设计模式 68 10.1 什么是MVC 68 10.1.1 MVC如何工作 69 10.1.2 Model 70 10.1.3 View 71 10.1.4 Controller 71 10.2 在ASP.NET Core中安装MVC 73 10.2.1 在ASP.NET Core中配置MVC 73 10.2.2 添加HomeController 74 10.3 AddMvc()和AddMvcCore()的源代码解析 75 10.4 小结 77 第 11章 依赖注入与Student模型 78 11.1 依赖注入 78 11.2 详细了解ASP.NET Core中的依赖注入 80 11.3 使用依赖注入注册服务 81 11.4 小结 83 第 12章 从Controller传递内容协商数据到View 84 12.1 Controller请求及相应流程说明 84 12.1.1 从Controller中返回JSON数据 85 12.1.2 安装Fiddler 86 12.2 在Controller中实现内容协商 86 12.3 从Controller返回View 89 12.3.1 MVC中的View 89 12.3.2 视图文件夹结构 90 12.3.3 视图发现 90 12.3.4 View()重载方法 93 12.4 自定义视图发现 93 12.4.1 指定视图文件路径 93 12.4.2 相对视图文件路径 94 12.4.3 其他View()重载方法 94 12.5 从Controller传递数据到View 95 12.5.1 数据从Controller传递到View的方法 95 12.5.2 使用ViewData将数据从Controller传递到View 95 12.5.3 使用ViewBag将数据从Controller传递到View 97 12.5.4 ViewData和ViewBag的对比 98 12.5.5 在ASP.NET Core MVC中创建一个强类型视图 98 12.6 小结 100 第 13章 完善MVC框架内容 102 13.1 为什么需要在ASP.NET Core MVC中使用ViewModel 102 13.1.1 ViewModel示例 103 13.1.2 在Controller中使用ViewModel 103 13.1.3 在视图中使用ViewModel 104 13.2 在ASP.NET Core MVC中实现List视图 104 13.2.1 修改IStudentRepository中的代码 105 13.2.2 修改MockStudentRepository中的代码 105 13.2.3 修改HomeController中的代码 106 13.2.4 视图Index.cshtml中代码的变化 106 13.3 为什么需要布局视图 107 13.3.1 ASP.NET Core MVC中的布局视图 108 13.3.2 创建布局视图 109 13.3.3 使用布局视图 109 13.4 布局页面中的节点 110 13.4.1 布局页面示例 110 13.4.2 渲染节点 111 13.4.3 使布局部分可选 111 13.4.4 节点的使用 112 13.5 什么是_ViewStart.cshtml文件 113 13.5.1 ASP.NET Core MVC中的_ViewStart.cshtml文件 113 13.5.2 _ViewStart.cshtml文件支持分层 113 13.5.3 逻辑判断调用布局视图 114 13.5.4 修改视图 114 13.6 ASP.NET Core MVC中的_ViewImports.cshtml文件 116 13.7 小结 117 第 14章 ASP.NET Core MVC中的路由 118 14.1 ASP.NET Core MVC中的默认路由 119 14.2 UseMvcWithDefaultRoute()方法中的代码 120 14.3 ASP.NET Core MVC中的属性路由 122 14.3.1 属性路由示例 123 14.3.2 属性路由参数 123 14.3.3 属性路由可选参数 124 14.3.4 控制器和操作方法名称 125 14.3.5 属性路由支持多层 125 14.3.6 在属性路由中自定义路由 128 14.3.7 常规路由与属性路由对比 129 14.4 ASP.NET Core中新增的路由中间件 129 14.4.1 路由中间件UseRouting 130 14.4.2 路由中间件UseEndpoints 131 14.5 LibMan轻量级包管理器 133 14.5.1 使用LibMan安装Bootstrap 133 14.5.2 libman.json文件 134 14.5.3 清理和还原客户端库 134 14.5.4 卸载或更新客户端库 134 14.5.5 libman.json文件说明 135 14.5.6 在网站中自定义CSS样式表 136 14.6 在ASP.NET Core应用程序中使用Bootstrap 136 14.6.1 Details.cshtml视图优化 137 14.6.2 Index.cshtml视图优化 137 14.7 小结 139 第 15章 ASP.NET Core中的TagHelper 140 15.1 导入内置TagHelper 140 15.1.1 使用TagHelper生成Link链接 140 15.1.2 TagHelper中的Link标签 141 15.2 为什么要使用TagHelper 141 15.3 Image TagHelper 144 15.3.1 浏览器缓存 145 15.3.2 禁用浏览器缓存 145 15.3.3 HTTP状态码中的200与302 146 15.3.4 ASP.NET Core中的Image TagHelper 146 15.3.5 验证Image TagHelper 147 15.4 ASP.NET Core中的Environment TagHelper 148 15.4.1 设置应用程序环境的名称 148 15.4.2 如果CDN “挂了”怎么办 149 15.5 使用Bootstrap给项目添加导航菜单 150 15.6 Form TagHelpers提交学生信息 153 15.6.1 场景描述 153 15.6.2 Form TagHelper 154 15.6.3 Input TagHelper 154 15.6.4 Label TagHelper 155 15.6.5 Select TagHelper 155 15.6.6 Create.cshtml中基本的HTML代码 156 15.6.7 Bootstrap优化后的Create.cshtml的代码 158 15.7 小结 159 第 16章 ASP.NET Core中的模型绑定与模型验证 160 16.1 ASP.NET Core中模型绑定的简单例子 160 16.2 在IStudentRepository接口中添加Add() 方法 162 16.2.1 在MockStudentRepository类中实现Add() 方法 163 16.2.2 HttpGet与HttpPost 163 16.2.3 运行结果 165 16.3 ASP.NET Core中的模型验证 166 16.3.1 模型验证示例 166 16.3.2 ModelState.IsValid属性验证 168 16.3.3 在视图中显示模型验证错误 168 16.3.4 自定义模型验证错误消息 169 16.3.5 ASP.NET Core内置模型验证属性 169 16.3.6 显示属性 169 16.3.7 使用多个模型验证属性 170 16.3.8 自定义模型验证错误的颜色 170 16.4 ASP.NET Core中的Select选择器验证 171 16.4.1 HTML页面中的选择列表 171 16.4.2 使选择列表成为必填 172 16.4.3 让选择列表成为真正的必需验证 173 16.5 深入了解依赖注入3种服务的不同 174 16.5.1 IStudentRepository接口 174 16.5.2 Student类 175 16.5.3 MockStudentRepository仓储服务 175 16.5.4 HomeController 176 16.5.5 创建学生信息 177 16.5.6 完善_ViewImports.cshtml 178 16.6 验证依赖注入服务 179 16.6.1 AddSingleton()方法 179 16.6.2 AddScoped()方法 180 16.6.3 AddTransient()方法 181 16.6.4 Scoped服务、 Transient服务与Singleton服务 181 16.7 小结 182 第 17章 EntityFramework Core数据访问与仓储模式 183 17.1 为什么要使用ORM 183 17.1.1 EF Core Code First模式 184 17.1.2 EF Core Database First模式 185 17.1.3 EF Core所支持的数据库 185 17.2 单层Web应用和多层Web应用的区别 186 17.2.1 单层Web应用 186 17.2.2 多层Web应用程序――三层架构 187 17.2.3 多层Web应用程序――领域驱动设计架构 188 17.3 Microsoft.AspNetCore.App包 190 17.4 安装Entity Framework Core 192 17.4.1 在类库项目中安装NuGet包 193 17.4.2 Entity Framework Core中的DbContext 194 17.4.3 在应用程序中使用DbContext 194 17.4.4 Entity Framework Core中的DbSet 195 17.5 在Entity Framework Core中使用SQL Server 195 17.5.1 AddDbContext()和AddDbContextPool()方法之间的区别 196 17.5.2 UseSqlServer()扩展方法 196 17.5.3 ASP.NET Core中的数据库连接字符串 196 17.6 ASP.NET Core中的仓储模式 197 17.6.1 仓储模式简介 197 17.6.2 仓储模式中的接口 198 17.6.3 修改IStudentRepository接口 198 17.6.4 仓储模式中的内存实现 199 17.6.5 Repository模式――SQL Server数据库实现 201 17.6.6 选择合适的仓储实现模式 202 17.6.7 仓储模式的优点 203 17.7 Entity Framework Core迁移功能 203 17.7.1 EF Core中的迁移 204 17.7.2 常用的Entity Framework Core迁移命令 205 17.7.3 在Entity Framework Core中创建迁移 205 17.7.4 在Entity Framework Core中更新数据库 206 17.7.5 Entity Framework Core中的种子数据 207 17.7.6 如何启用种子数据 207 17.7.7 更改现有的数据库种子数据 209 17.7.8 DbContext类保持“干净” 210 17.8 在ASP.NET Core中同步领域模型与数据库架构 211 17.8.1 给学生增加头像字段 211 17.8.2 Migrations文件夹中的文件说明 212 17.8.3 _EFMigrationsHistory表的使用 212 17.8.4 如何删除已应用的迁移记录 212 17.8.5 删除已应用于数据库的迁移 213 17.9 小结 213 第 18章 学生头像上传与信息修改 214 18.1 修改Student模型类 215 18.1.1 视图模型――StudentCreateViewModel 215 18.1.2 更新Create视图中的代码 216 18.1.3 更新Create()操作方法的代码 219 18.1.4 学生详情视图页面代码 220 18.1.5 学生列表视图页面代码 221 18.2 在ASP.NET Core MVC中完成上传多个文件 222 18.2.1 StudentCreateViewModel文件 223 18.2.2 更新Create视图的代码 223 18.2.3 修改Create()操作方法 226 18.3 ASP.NET Core中的学生编辑视图 228 18.3.1 导航到编辑视图 228 18.3.2 编辑视图模型 229 18.3.3 Edit() 操作方法 230 18.3.4 编辑视图页面 230 18.3.5 完成HttpPost的Edit()操作方法 232 18.4 枚举的扩展方法实现 235 18.5 小结 237 第 19章 404错误页与异常拦截 238 19.1 HTTP状态码中的4××和5×× 238 19.1.1 ASP.NET Core中的404错误 239 19.1.2 404错误信息的视图代码 239 19.2 统一处理ASP.NET Core中的404错误 240 19.2.1 404错误的类型 241 19.2.2 ASP.NET Core中的404错误示例 241 19.3 处理失败的HTTP状态码 242 19.3.1 UseStatusCodePages中间件 242 19.3.2 UseStatusCodePagesWithRedirects中间件 243 19.3.3 添加ErrorController 244 19.3.4 添加NotFound视图 245 19.4 UseStatusCodePagesWithRedirects与UseStatusCodePagesWithReExecute 245 19.4.1 UseStatusCodePagesWithRedirects中间件说明 246 19.4.2 UseStatusCodePagesWithRedirects请求处理流程 246 19.4.3 使用UseStatusCodePagesWithReExecute请求处理流程 247 19.5 ASP.NET Core中的全局异常处理 249 19.5.1 ASP.NET Core中的UseDeveloperExceptionPage中间件 249 19.5.2 ASP.NET Core中的非开发环境异常信息 250 19.5.3 ASP.NET Core中的异常处理 251 19.5.4 调整Edit()方法中的错误视图 253 19.6 小结 255 第 20章 ASP.NET Core中的日志记录 256 20.1 ASP.NET Core中的默认日志 256 20.2 ASP.NET Core中的日志记录提供程序 257 20.2.1 ASP.NET Core内置日志记录提供程序 257 20.2.2 ASP.NET Core的第三方日志记录提供程序 258 20.2.3 ASP.NET Core中默认的日志记录提供程序 258 20.2.4 appsettings.json文件中的LogLevel 259 20.3 在ASP.NET Core中实现记录异常信息 261 20.3.1 Error和NotFound视图修改 262 20.3.2 在ASP.NET Core中记录异常信息 263 20.3.3 在ASP.NET Core中使用NLog记录信息到文件中 267 20.3.4 在ASP.NET Core中使用NLog 267 20.4 在ASP.NET Core中LogLevel配置及过滤日志信息 270 20.4.1 日志等级LogLevel枚举 270 20.4.2 ILogger方法 271 20.4.3 在ASP.NET Core中使用日志过滤 272 20.4.4 按日志类别(Log Category)和日志记录提供程序进行日志筛选 275 20.4.5 特定环境变量中appsettings.json文件的LogLevel配置 277 20.5 小结 277 第三部分 第 21章 从零开始学ASP.NET Core Identity框架 280 21.1 ASP.NET Core Identity介绍 280 21.2 使用ASP.NET Core Identity注册新用户 283 21.2.1 RegisterViewModel视图模型 284 21.2.2 账户控制器 284 21.2.3 注册视图中的代码 285 21.2.4 添加注册按钮 286 21.3 UserManager和SignInManager服务 286 21.3.1 ASP.NET Core Identity中对密码复杂度的处理 288 21.3.2 ASP.NET Core Identity密码默认设置 289 21.3.3 覆盖ASP.NET Core身份中的密码默认设置 290 21.3.4 修改中文提示的错误信息 291 21.4 登录状态及注销功能的实现 294 21.5 ASP.NET Core Identity中的登录功能实现 295 21.5.1 LoginViewModel登录视图模型 295 21.5.2 登录视图的代码 296 21.5.3 AccountController中的Login()操作方法 297 21.5.4 会话Cookie与持久性Cookie 298 21.6 小结 299 第 22章 授权与验证的关系 300 22.1 ASP.NET Core中的Authorize属性 300 22.1.1 Authorize属性示例 300 22.1.2 ASP.NET Core中的AllowAnonymous属性 301 22.1.3 全局应用Authorize属性 302 22.2 登录后重定向到指定URL 303 22.2.1 ASP.NET Core中的ReturnUrl 303 22.2.2 ReturnUrl查询字符串示例 303 22.2.3 登录后重定向到ReturnUrl 304 22.3 开放式重定向攻击 305 22.3.1 什么是开放式重定向漏洞 305 22.3.2 开放式重定向漏洞示例 305 22.4 ASP.NET Core中的客户端验证 307 22.4.1 服务器端验证示例 307 22.4.2 客户端验证 308 22.4.3 什么是客户端隐式验证 310 22.4.4 客户端验证如何在ASP.NET Core中工作 311 22.4.5 隐式验证在ASP.NET Core中失效 312 22.5 在ASP.NET Core中进行远程验证 312 22.5.1 远程验证示例 313 22.5.2 ASP.NET Core远程属性 314 22.5.3 ASP.NET Core Ajax失效 315 22.6 ASP.NET Core中的自定义验证属性 315 22.6.1 自定义验证属性示例 315 22.6.2 在ASP.NET Core中使用自定义验证属性 316 22.7 小结 317 第 23章 角色管理与用户扩展 318 23.1 扩展IdentityUser类 319 23.1.1 修改AppDbContext中的参数 321 23.1.2 生成新迁移记录向AspNetUsers表中添加字段 321 23.1.3 在AspNetUsers表中保存自定义数据 322 23.1.4 AccountController类中Register()操作方法的修改 323 23.1.5 AllowAnonymous匿名属性的使用 324 23.2 ASP.NET Core中的角色管理 324 23.2.1 ASP.NET Core中的RoleManager 324 23.2.2 在AdminController中添加创建新角色的代码 325 23.2.3 创建角色视图模型 326 23.2.4 创建角色视图 326 23.3 在ASP.NET Core中显示所有角色列表 328 23.4 编辑ASP.NET Core中的角色 331 23.4.1 编辑角色视图模型 332 23.4.2 编辑角色操作方法 333 23.4.3 编辑角色视图 335 23.5 角色管理中的用户关联关系 338 23.5.1 Identity中的AspNetUserRoles数据库表关联关系 339 23.5.2 EditUsersInRole的HttpGet操作方法 339 23.5.3 EditUsersInRole的HttpPost操作方法 340 23.5.4 EditUsersInRole视图 341 23.6 小结 343 第 24章 角色授权与用户管理 344 24.1 基于角色的授权 344 24.1.1 授权属性的多个实例 345 24.1.2 基于角色授权的控制器操作方法 345 24.2 添加授权中间件UseAuthorization 346 24.3 在菜单栏上显示或隐藏管理 347 24.4 ASP.NET Core Identity中的拒绝访问功能 348 24.4.1 AccessDenied()操作方法 348 24.4.2 AccessDenied视图代码 349 24.5 获取Identity中的用户列表 349 24.5.1 UserManager服务的用户访问 350 24.5.2 ASP.NET Core列表用户视图 351 24.5.3 管理导航菜单 353 24.5.4 修改Register()方法 354 24.5.5 下拉菜单功能失效 355 24.6 编辑Identity中的用户 355 24.6.1 编辑用户视图 355 24.6.2 EditUser()的操作方法 356 24.6.3 EditUser视图文件 358 24.7 NotFound视图异常 360 24.8 Identity中删除的用户功能 362 24.8.1 使用GET请求删除数据 362 24.8.2 使用POST请求删除数据 362 24.8.3 DeleteUser()方法 363 24.9 ASP.NET Core中的确认删除功能 364 24.9.1 浏览器确认对话框 364 24.9.2 是和否删除按钮 364 24.9.3 将confirmDelete()方法添加到视图中 366 24.10 删除ASP.NET CoreIdentity中的角色 367 24.11 小结 369 第 25章 EF Core中的数据完整性约束 370 25.1 EF Core中的数据完整性约束 370 25.2 优化生产环境中的自定义错误视图 374 25.2.1 ErrorController类 376 25.2.2 优化Error.cshtml 376 25.3 小结 378 第 26章 ASP.NET Core中的声明授权 379 26.1 Identity中的用户角色 379 26.1.1 视图模型 380 26.1.2 ManageUserRoles()方法 380 26.1.3 ManageUserRoles视图文件 382 26.2 启用MARS与模型绑定失效 383 26.2.1 为什么不使用foreach 384 26.2.2 for循环与foreach循环的异同点 387 26.3 声明授权 388 26.3.1 ClaimsStore与UserClaimsViewModel类 388 26.3.2 ManageUserClaims()操作方法 389 26.3.3 ManageUserClaims视图文件 391 26.4 小结 393 第 27章 RBAC与CABC 394 27.1 RBAC 394 27.2 CBAC 395 27.3 角色与策略的结合 396 27.4 在MVC视图中进行角色与声明授权 397 27.5 AccessDenied视图的路由配置修改 399 27.6 策略授权中的ClaimType和ClaimValue 402 27.7 使用委托创建自定义策略授权 404 27.7.1 自定义复杂授权需求 406 27.7.2 自定义授权需求和处理程序 407 27.7.3 自定义需求的授权处理程序示例 408 27.7.4 多个自定义授权处理程序 411 27.8 小结 413 第 28章 Identity的账户中心的设计 414 28.1 第三方登录身份提供商 414 28.1.1 第三方登录身份提供商如何在ASP.NET Core中工作 415 28.1.2 创建Azure OAuth凭据--――客户端ID和客户端密钥 416 28.1.3 在ASP.NET Core中启用Microsoft身份验证 418 28.1.4 集成GitHub身份验证登录 425 28.2 用户机密 429 28.3 验证账户信息安全 430 28.3.1 验证电子邮箱的好处 431 28.3.2 阻止登录未验证的用户登录 431 28.3.3 电子邮箱确认令牌 435 28.3.4 第三方登录的电子邮箱确认令牌 439 28.3.5 激活用户邮箱 442 28.4 忘记密码功能 444 28.5 重置密码功能 446 28.6 小结 449 第 29章 解析部分ASP.NET Core Identity源代码 450 29.1 解析ASP.NET Core Identity中Token的生成与验证 450 29.2 自定义令牌类型及令牌有效期 454 29.3 ASP.NET Core中Data Protection的加密和解密示例 456 29.4 在ASP.NET Core中添加更改密码功能 461 29.5 为第三方账户添加密码 464 29.6 ASP.NET Core中的账户锁定 468 29.7 小结 472 第四部分 第30章 架构 474 30.1 架构简介 474 30.2 学校管理系统架构设计 475 30.3 EntityFramework Core中的实体关系 476 30.4 当前架构 480 30.5 小结 481 第31章 仓储模式的最佳实践 482 31.1 泛型仓储的实现 482 31.2 异步编码与同步编码 483 31.3 IRepository接口的设计实现 484 31.4 RepositoryBase仓储代码的实现 489 31.5 小结 495 第32章 重构学生管理功能 496 32.1 修改HomeController中的代码 496 32.2 学生列表排序功能 505 32.3 模糊查询 507 32.4 一个简单分页的实现 509 32.5 小结 514 第33章 课程列表与分组统计功能 515 33.1 泛型分页 515 33.2 迁移数据信息 521 33.3 课程列表 526 33.4 分部视图 530 33.5 学生统计信息 532 33.6 Razor条件运行时编译 534 33.7 小结 535 第34章 复杂数据类型及自动依赖注入 536 34.1 创建相关实体信息 537 34.1.1 修改Course实体信息 538 34.1.2 创建学院与调整学生课程信息 539 34.2 更新数据库上下文及初始化内容 542 34.3 服务之间的自动注册 552 34.4 小结 555 第35章 课程与教师的CRUD 556 35.1 EF Core中预加载的使用 556 35.2 较为复杂的预加载的使用 558 35.3 编辑课程功能 569 35.3.1 编辑课程信息 572 35.3.2 课程信息的详情页 575 35.3.3 删除课程信息 577 35.4 编辑教师功能 578 35.4.1 添加教师信息 583 35.4.2 删除教师信息 586 35.5 优化目录结构 587 35.6 小结 588 第36章 处理并发冲突 589 36.1 并发冲突 589 36.1.1 悲观并发(悲观锁) 590 36.1.2 乐观并发(乐观锁) 591 36.2 添加Department的相关类 591 36.2.1 添加DepartmentsService 592 36.2.2 学院列表功能 593 36.2.3 添加详情视图 597 36.2.4 编辑学院信息功能 602 36.3 EF Core中的并发控制 605 36.4 小结 609 第37章 EF Core中的继承与原生SQL语句使用 610 37.1 继承 610 37.1.1 实现TPH继承 611 37.1.2 执行数据库迁移 613 37.2 执行原生SQL语句 614 37.2.1 DbSet.FromSqlRaw的使用 614 37.2.2 Database.ExecuteSqlComma的使用 615 37.2.3 执行原生SQL语句实现更新 616 37.3 小结 619 第38章 EF Core 中的数据加载与关系映射 620 38.1 EF Core中的数据加载 620 38.1.1 显式加载 620 38.1.2 延迟加载 621 38.1.3 3种加载形式的性能区别 623 38.2 Fluent API与数据注释 624 38.3 Entity Framework Core中的Code First关系映射约定 625 38.3.1 一对一关联关系 626 38.3.2 一对多关联关系 627 38.3.3 多对多关联关系 631 38.4 小结 632 第五部分 第39章 ASP.NET Core中的Web API 634 39.1 IoT与RESTful服务 634 39.2 添加Web API服务 635 39.3 安装Postman并调试Web API服务 639 39.3.1 测试POST请求 639 39.3.2 测试GET请求 640 39.3.3 测试PutTodoItem()方法 642 39.3.4 测试DeleteTodoItem()方法 644 39.3.5 404和400异常 644 39.4 图形可视化的Web API帮助页 646 39.4.1 Swagger/OpenAPI 646 39.4.2 Swashbuckle.AspNetCore入门 646 39.4.3 添加并配置Swagger中间件 647 39.4.4 获取swagger.json失败 648 39.4.5 调试Swagger UI 650 39.4.6 调用SwaggerGen API 654 39.5 小结 657 第40章 实践多层架构体系 658 40.1 领域驱动设计的分层结构 658 40.2 重构MockSchoolManagement项目 659 40.2.1 添加所需类库 661 40.2.2 添加依赖引用关系 662 40.3 迁移各类库 663 40.3.1 各个项目文件中的引用 664 40.3.2 类库效果图 665 40.3.3 多程序集的依赖注入 667 40.3.4 重新生成迁移记录及生成SQL脚本 668 40.4 小结 669 第41章 部署与发布 670 41.1 部署至IIS 670 41.1.1 IIS的安装和配置 670 41.1.2 安装ASP.NET Core托管模块 672 41.1.3 启用Web Deploy 672 41.1.4 创建IIS站点 675 41.1.5 使用Visual Studio将ASP.NET Core发布到IIS站点 676 41.2 部署至Ubuntu 678 41.2.1 Ubuntu中安装.NET Core 679 41.2.2 安装Nginx 679 41.2.3 编译与发布 680 41.3 在Docker中调试运行ASP.NET Core 682 41.3.1 安装Docker 682 41.3.2 添加Dockerfile文件 683 41.4 云原生Azure Web App 685 41.5 小结 689 第42章 ASP.NET Core 2.2到ASP. NET Core 3.1的迁移指南 690 42.1 升级至ASP.NET Core 3.1 690 42.1.1 修改项目启动 692 42.1.2 修改Startup 693 42.2 迁移升级后的看法 693 42.3 Visual Studio 2019插件推荐 694 42.4 小结 696
点击展开
点击收起
— 没有更多了 —
本店暂时无法向该地区发货
以下为对购买帮助不大的评价