返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版]深入浅出 ASP.NET Core 框架揭秘零基础学web开发教程项目开发实战入门到精通HTML JavaSc
  • 附送免费视频资源 提供源代码
    • 作者: 梁桐铭著
    • 出版社: 人民邮电出版社
    • 出版时间:1
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    友一个文化制品专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 梁桐铭著
    • 出版社:人民邮电出版社
    • 出版时间:1
    • 开本:16开
    • ISBN:9788323602283
    • 版权提供:人民邮电出版社

            铺公告

      为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。

    温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。

      关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。

     

     

    内容介绍

    本书是一本系统地介绍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感兴趣的读者阅读,也可以作为高等院校相关专业的教学用书和培训学校的教材。
    目录

    第 一部分
    第 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

    作者介绍

    梁桐铭,微软*有价值专家、Microsoft AI Open Hack教练、Microsoft Tech Summit 2018讲师,52ABP开源框架作者。2015年开始在国内推广ASP.NET Boilerplate Project开源框架。拥有多年开发经验与技术团队管理经验,熟悉互联网及电商业。负责过多个大型项目的开发和管理,擅长应用系统项目的规划设计、及企业解决方案的设计。
    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购