深入浅出ASP.NETCore
新华书店全新正版书籍图书 保证_可开发票_极速发货支持7天无理由
¥
101.7
7.3折
¥
139
全新
仅1件
作者 梁桐铭
出版社 人民邮电出版社
ISBN 9787115541093
出版时间 2020-09
装帧 平装
开本 16开
定价 139元
货号 30964414
上书时间 2024-10-20
商品详情
品相描述:全新
商品描述
导语摘要 1.针对.NETCore3.1讲解;2.提供完整源代码下载且代码可复用;3.本书附送免费视频资源,供读者配合图书学习;4.本书针对一个完整项目进行开发,而不是只有零散的代码段;5.案例丰富、实用,采用了流行框架中的设计模式及实用技术;6.具有完整的权限功能,统一处理拦截异常、错误页面及日志信息。 经过几年的发展,ASP.NETCore已趋于稳定,社区生态比较完善。在技术日新月异的今天,我们需要不断学习,并在学习中不断成长。本书由浅入深地讲解ASP.NETCore,如果你想通过学习ASP.NETCore来获得更多的机会,那么我推荐本书,在学习ASP.NETCore的过程中它可以给予我们启发和帮助。 ——微软MVP李志强(晓晨master)ASP.NETCore已成为微软跨平台开发的利器。本书基于ASP.NETCore3.1版本,由浅入深地介绍了如何从头开始构建ASP.NETCore应用,内容详实,通俗易懂,非常适合.NET开发者学习参考。 ——微软MVP闫晓迪我一直认为微软官方文档是入门学习最好的资料,但在阅读了梁桐铭的书稿后,我认为他写的这本书更加适合ASP.NETCore初学者参考阅读,从对.NET的历史回顾到对ASP.NETCore各组件由浅入深的讲解,都是他学习心得的真心传授。 ——深圳市友浩达科技有限公司CEO、微软MVP张善友即便ASP.NETCore从2016年首发到现在已经过去4年,但其在开发者市场中的占比仍然不高。一方面是因为ASP.NETCore技术的主要阵地其实依然是以企业信息化为主的传统企业级应用层面,考虑到成本等综合因素,这些企业无法适时地更新自己的技术;另一方面是因为培养能够熟练驾驭ASP.NETCore技术的年轻开发者的速度,赶不上企业飞速发展的需要。即便官方文档很齐全,但系统教程的缺乏,使开发者或企业无法从ASP.NETCore的社区资源中受益。这本书有望成为初级和中级ASP.NETCore开发者的精神食粮。根据作者介绍的详细步骤,开发者能够快速成长为合格的新一代ASP.NETCore开发者。本书作者是ASP.NETCore技术的先行者,早年在领域驱动设计等诸多社区贡献了大量学习资源,也在网上开设了ASP.NETCore在线课程,而这本书也是他过去若干年经验积累的结晶。 ——深圳敢为软件研发负责人、长沙.NET技术社区组织者邹溪源作者在本书的课程管理系统中融入了他积累多年的ASP.NETCore实践经验,以此为主线层层深入,对ASP.NETCore的各项重要功能进行了充分的讲解和演示。同时,书中还加入了对部分框架源码的分析解读,能更好地帮助我们掌握程序的编写技巧。相信无论你是初学者,还是具有一定基础的开发者,本书都是一本可以让你全面学习ASP.NETCore,并且快速运用到实践中的佳作! ——盛派网络创始人、微软RD/MVP苏震巍 作者简介 梁桐铭,微软很有价值专家、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××
— 没有更多了 —
以下为对购买帮助不大的评价