书籍作者:周志刚 | ISBN:9787512429871 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:4967 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书假设读者已经熟悉C#和.NET的开发,并且对关系型数据库有所了解,但不要求对C#有太深入的了解。初学C#的读者可能会发现有些代码难以阅读,因为本书不会详细讲解C#的内容。
ASP.NET Core是一个开源跨平台框架,用于构建Web应用、IoT应用和移动后端应用。ASP.NET Core应用程序可以运行于 .NET Core和完整的 .NET Framework之上。全书共分9章,深入浅出地介绍了ASP.NET Core的基础知识和前端UI选择方面的知识,主要包括.NET Core的基础知识及其安装、dotnet命令、Visual Studio开发工具的安装和使用、ASP.NET Core的原理及其组件介绍、Entity Framework Core框架、ASP.NET Core MVC框架和依赖注入等。
本书面向从未使用过ASP.NET Core和EF Core的初、中级用户,以及想了解ASP.NET Core和EF Core的读者,也可作为各初、高等院校师生的教学和自学丛书,以及社会相关领域培训班的教材。
活跃的博客作者,有丰富的.NET平台开发经验,2年.NET Core开发经验,多年从事第三方物流供应链系统开发,对.NET Framework、C#、ASP.NET、SQLServer有着深入的研究。
本书面向初中级读者,书中含有大量图表,便于读者理解。
自2000年6月微软提出.NET战略,经过16年的推广之后,在2016年推出了升级版.NET Core。这是一个真正跨平台的框架,如今,.NET Core已经得到了比较广泛的认可。使用.NET开发B/S应用程序当然首推ASP.NET Core,因为在ASP.NET Core 2.1中内置了更多的功能。相对于ASP.NET Core 1.0,ASP.NET Core 2.x降低了学习门槛,引进了新的Razor Page用户界面设计方式,可以很容易地与.NET Framework 4.6以上版本兼容,便于用户轻松地把旧项目迁移到.NET Core环境上来。
ASP.NET Core由模块化的组件构成,是一个比ASP.NET更为精简且模块化的框架。ASP.NET Core不再基于System.Web.dll,而是基于一系列颗粒化的、且有良好架构的 NuGet包。ASP.NET Core并不只是前端技术,也是后端技术。ASP.NET Core是ASP.NET开发人员需要了解的一种技术,是在多种平台上进行Web开发时可供使用的另一种全栈解决方案,以便在Windows、Mac和Linux上跨平台地开发和运行自己的ASP.NET Core应用程序。
本书对ASP.NET Core 2.x进行了全面讲解,包括.NET Core、ASP.NET Core的原理及其组件、ASP.NET Core MVC框架和Entity Framework Core框架等,通过本书的学习可以帮助开发者走进ASP.NET Core 跨平台开发的世界。本书侧重于各种小功能的实现,并在实现过程中揭示ASP.NET Core 2.x的特性。
全书共分9章,内容如下:
第1章介绍.NET Core的基础知识,并通过一个简单的控制台应用介绍.NET Core。
第2章介绍.NET Core CLI的dotnet命令,并通过一些简单示例来学习如何使用这些命令。
第3章介绍Visual Studio 2017和NuGet包,并通过一些简单示例来学习如何使用Visual Studio 2017进行应用开发及引用NuGet包。
第4章介绍ASP.NET Core框架。
第5章介绍Entity Framework (EF) Core框架和配置特性,并通过构建使用EF Core的ASP.NET Core应用程序示例来具体应用EF Core功能。
第6章介绍ASP.NET Core MVC使用“模型视图控制器”设计模式构建 Web 应用和 API 的丰富框架。
第7章介绍依赖注入,并通过示例来学习如何使用依赖注入。
第8章介绍Razor标记语言。
第9章介绍设计一个优秀Web应用程序应注意的前端UI选择问题,以及现在比较流行的几种UI,这些UI为统一整个Web应用程序的风格和减少冗余代码提供了很好的解决方案。
读者在阅读完本书后能够了解ASP.NET Core的基础知识和原理,学会使用ASP.NET Core并结合EF Core开发简单的跨平台应用程序。由于笔者能力有限,本书只能抛砖引玉,有未尽如人意之处,希望读者海涵并提出宝贵意见,以期共同进步。
第1章.NET Core1
1.1.NET Core介绍1
1.1.1什么是.NET1
1.1.2什么是.NET Framework1
1.1.3什么是.NET Core2
1.2.NET Core跨平台2
1.2.1.NET Standard3
1.2.2.NET Core的特点4
1.3.NET Core SDK下载安装7
第2章dotnet命令12
2.1dotnet命令结构12
2.1.1dotnet命令结构介绍13
2.1.2dotnet命令示例14
2.2dotnet new16
2.2.1介绍16
2.2.2示例20
2.3dotnet restore22
2.4dotnet sln24
2.4.1介绍24
2.4.2示例25
2.5dotnet build27
2.5.1介绍27
2.5.2示例28
2.6dotnet pack28
2.6.1介绍28
2.6.2示例29
2.7dotnet run30
2.7.1介绍30
2.7.2示例32
2.8dotnet publish32
2.8.1介绍32
2.8.2示例34
2.9dotnet add package35
2.9.1介绍35
2.9.2示例35
2.10dotnet add reference37
2.10.1介绍37
2.10.2示例37
2.11dotnet命令综合示例38
第3章Visual Studio 2017与NuGet44
3.1安装 Visual Studio 201744
3.1.1检查计算机安装环境44
3.1.2下载 Visual Studio 201744
3.1.3运行Visual Studio 2017安装程序45
3.1.4选择工作负载46
3.1.5逐个选择组件(可选)47
3.1.6安装语言包(可选)47
3.1.7更改安装位置(可选)48
3.1.8起始页介绍48
3.2使用Visual Studio创建程序49
3.3Visual Studio功能简介53
3.3.1菜单53
3.3.2解决方案资源管理器53
3.3.3快速启动56
3.3.4编辑器58
3.3.5运行和调试应用程序61
3.3.6调试代码62
3.3.7使用重构和 IntelliSense66
3.4NuGet简介68
3.4.1包、创建者、主机和使用者之间的关系68
3.4.2包的兼容性69
3.4.3NuGet工具70
3.4.4管理依赖项70
3.4.5跟踪引用和还原包71
3.5在Visual Studio中安装和使用包72
3.5.1程序包管理器UI72
3.5.2程序包管理器控制台74
3.5.3在应用中使用Newtonsoft.Json API75
第4章ASP.NET Core简介77
4.1为何使用 ASP.NET Core77
4.2ASP.NET Core启动的秘密78
4.2.1ASP.NET Core启动流程78
4.2.2宿主构造器:WebHostBuilder79
4.2.3UseStartup〈Startup〉()80
4.2.4WebHostBuilder.Build()82
4.2.5WebHost.Initialize()85
4.2.6WebHost.Run()87
4.2.7构建请求处理管道87
4.2.8启动WebHost90
4.2.9启动Server92
4.2.10启动IHostedService93
4.3ASP.NET Core中间件94
4.3.1什么是中间件94
4.3.2中间件的运行方式94
4.3.3中间件排序96
4.3.4Use、Run和Map方法98
4.3.5内置中间件103
4.4ASP.NET Core中的静态文件104
4.4.1如何将静态文件注入到项目中105
4.4.2自定义静态文件夹107
4.4.3添加默认文件支持109
4.4.4设置HTTP响应标头110
4.4.5启用目录浏览112
4.5ASP.NET Core中的配置113
4.5.1配置相关的包114
4.5.2文件配置115
4.5.3XML配置120
4.5.4按环境配置121
4.5.5在Razor页面中访问配置122
4.5.6其他配置方式122
4.6ASP.NET Core中的日志记录123
4.6.1日志模型三要素124
4.6.2日志记录级别125
4.6.3将日志写入不同的目的地126
4.6.4添加筛选功能130
4.6.5根据等级过滤日志消息131
4.6.6设置文件配置133
4.6.7作用域135
4.6.8日志记录建议137
4.7在ASP.NET Core中使用多个环境137
4.7.1环境137
4.7.2在运行时确定环境137
4.7.3开发环境139
4.7.4生产环境141
4.7.5基于环境的Startup类和方法142
4.8Session详解142
4.8.1什么是Session142
4.8.2理解Session机制143
4.8.3ASP.NET Core中的Session144
4.8.4ASP.NET Core中如何使用Session145
4.9ASP.NET Core中的缓存149
4.9.1缓存的基础知识149
4.9.2将数据缓存在内存中149
4.9.3基于SQL Server的分布式缓存158
第5章Entity Framework Core167
5.1先决条件167
5.2Visual Studio开发167
5.2.1使用 NuGet的包管理器用户界面167
5.2.2使用 NuGet的包管理器控制台168
5.3创建数据库168
5.4EF Core的两种编程方式170
5.5EF Core 2.0 Database First的基本使用170
5.6Entity Framework Core的实体特性177
5.6.1数据注释特性——Key178
5.6.2数据注释特性——Timestamp182
5.6.3数据注释特性——ConcurrencyCheck183
5.6.4数据注释特性——Required184
5.6.5数据注释特性——MaxLength186
5.6.6数据注释特性——MinLength187
5.6.7数据注释特性——Table188
5.6.8数据注释特性——Column191
5.6.9数据注释特性——ForeignKey193
5.6.10数据注释特性——NotMapped196
5.7EF Core 2.0 Code First199
5.8EF Core 2.0 Code First 创建数据库199
5.8.1创建实体199
5.8.2创建数据库203
5.8.3数据库修改204
5.8.4还原迁移206
5.8.5删除迁移207
5.8.6生成SQL脚本208
5.8.7创建存储过程209
5.8.8给数据库添加初始数据209
5.9用EF Core 2.0 Code First查询数据214
5.9.1查询的工作原理215
5.9.2执行查询215
5.9.3基本查询216
5.9.4异步查询217
5.9.5加载所有数据218
5.9.6加载单个实体218
5.9.7条件查询219
5.9.8使用SQL语句查询220
5.9.9基本SQL查询221
5.9.10传递参数221
5.9.11使用SQL查询,用LINQ编写条件排序222
5.9.12跟踪与非跟踪查询223
5.10EF Core 2.0 Code First保存数据224
5.10.1添加数据225
5.10.2修改数据228
5.10.3删除数据230
5.10.4单个 SaveChanges中的多个操作232
5.10.5异步保存235
5.10.6使用事务235
5.10.7默认事务235
5.10.8显式事务235
5.11EF Core 2.0 Code First处理并发冲突239
5.11.1并发冲突239
5.11.2乐观并发239
5.11.3检测并发冲突241
5.11.4解决并发冲突243
5.11.5使用时间戳和行级版本号246
第6章ASP.NET Core MVC253
6.1ASP.NET Core MVC概述253
6.1.1什么是 MVC模式253
6.1.2什么是ASP.NET Core MVC254
6.2ASP.NET Core中的路由259
6.2.1路由259
6.2.2路由基础知识259
6.2.3路由模板263
6.2.4路由约束263
6.2.5正则表达式265
6.3ASP.NET Core中的模型绑定266
6.3.1模型绑定简介266
6.3.2模型绑定的工作原理266
6.3.3数组绑定269
6.3.4返回带格式的数据270
6.4ASP.NET Core MVC 中的模型验证271
6.4.1模型验证简介271
6.4.2验证特性272
6.4.3自定义验证273
6.4.4客户端验证275
6.4.5远程验证277
6.5ASP.NET Core MVC 中的视图279
6.5.1Razor视图引擎279
6.5.2使用视图的好处280
6.5.3创建视图281
6.5.4控制器如何指定视图281
6.5.5向视图传递数据283
6.6ASP.NET Core 中的布局288
6.6.1什么是布局288
6.6.2指定布局290
6.6.3导入共享指令291
6.6.4在呈现每个视图之前运行代码292
6.7ASP.NET Core 中的标记助手293
6.7.1什么是标记助手293
6.7.2标记助手的功能294
6.7.3管理标记助手的作用域296
6.7.4标记助手的智能提示支持297
6.8ASP.NET Core 中的分部视图299
6.8.1什么是分部视图299
6.8.2何时使用分部视图300
6.8.3声明分部视图300
6.8.4分部视图访问示例300
6.9ASP.NET Core 中的视图组件304
6.9.1什么是视图组件304
6.9.2如何创建视图组件类304
6.9.3创建一个简单的视图组件305
6.9.4调用视图组件作为标记助手308
6.9.5在控制器方法中直接调用视图组件309
6.9.6指定视图名称310
6.10在ASP.NET Core MVC 中使用控制器处理请求312
6.10.1什么是控制器312
6.10.2定义操作313
6.10.3控制器响应返回的方法313
6.11ASP.NET Core 中的过滤器314
6.11.1过滤器314
6.11.2过滤器的工作原理314
6.11.3授权过滤器315
6.11.4资源过滤器315
6.11.5操作过滤器317
6.11.6异常过滤器319
6.11.7结果过滤器321
6.11.8内置过滤器特性322
6.11.9取消和设置短路323
6.11.10依赖关系注入324
6.11.11过滤器示例325
6.12ASP.NET Core 中的区域331
第7章依赖注入337
7.1什么是依赖注入337
7.1.1什么是依赖337
7.1.2什么是注入338
7.1.3为什么要反转338
7.1.4何为容器340
7.2.NET Core DI341
7.2.1构造函数注入行为341
7.2.2实例的注册341
7.2.3实例的生命周期342
7.3DI在ASP.NET Core中的应用349
7.3.1在Startup类中初始化351
7.3.2在控制类中使用352
7.3.3通过 HttpContext来获取实例353
7.4在 ASP.NET Core 中将依赖项注入到视图中354
7.4.1简单示例354
7.4.2填充查找数据356
7.5如何替换其他的IoC容器358
7.5.1Autofac的基本使用359
7.5.2用Autofac代替原来的IoC364
7.5.3一个接口对应多个实现的情况369
第8章Razor视图373
8.1什么是Razor373
8.2Razor保留关键字374
8.2.1Razor关键字374
8.2.2C# Razor关键字374
8.3使用Razor语法编写表达式375
8.3.1隐式 Razor表达式375
8.3.2显式 Razor表达式377
8.3.3表达式的编码378
8.4Razor代码块379
8.5Razor逻辑条件控制382
8.5.1if和switch条件语句382
8.5.2循环语句383
8.5.3复合语句@using385
8.5.4异常处理语句@try、catch、finally386
8.5.5加锁语句@lock386
8.5.6注释387
8.6指令387
8.7ASP.NET Core中的 Razor页面介绍389
8.7.1启用Razor页面389
8.7.2Razor页面介绍390
8.7.3编写基本窗体391
8.7.4页面的URL生成405
8.7.5针对一个页面的多个处理程序406
第9章Web UI框架的选择412
9.1以JQuery为核心的前端框架413
9.1.1EasyUI413
9.1.2DWZ JUI414
9.1.3LigerUI415
9.2以Bootstrap为核心的前端框架416
9.2.1HUI416
9.2.2H+ UI416
9.2.3Ace Admin417
9.2.4Metronic418
9.2.5AdminLTE419
9.2.6INSPINIA420
9.3以ExtJS为核心的前端框架421
参考文献423