ASP.NET Core应用开发入门教程 作者:周志刚 出版时间:2020年版内容简介 本书假设读者已经熟悉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的读者,也可作为各初、高等院校师生的教学和自学丛书,以及社会相关领域培训班的教材。目录第1章.NET Core11.1.NET Core介绍11.1.1什么是.NET11.1.2什么是.NET Framework11.1.3什么是.NET Core21.2.NET Core跨平台21.2.1.NET Standard31.2.2.NET Core的特点41.3.NET Core SDK下载安装7第2章dotnet命令122.1dotnet命令结构122.1.1dotnet命令结构介绍132.1.2dotnet命令示例142.2dotnet new162.2.1介绍162.2.2示例202.3dotnet restore222.4dotnet sln242.4.1介绍242.4.2示例252.5dotnet build272.5.1介绍272.5.2示例282.6dotnet pack282.6.1介绍282.6.2示例292.7dotnet run302.7.1介绍302.7.2示例322.8dotnet publish322.8.1介绍322.8.2示例342.9dotnet add package352.9.1介绍352.9.2示例352.10dotnet add reference372.10.1介绍372.10.2示例372.11dotnet命令综合示例38第3章Visual Studio 2017与NuGet443.1安装 Visual Studio 2017443.1.1检查计算机安装环境443.1.2下载 Visual Studio 2017443.1.3运行Visual Studio 2017安装程序453.1.4选择工作负载463.1.5逐个选择组件(可选)473.1.6安装语言包(可选)473.1.7更改安装位置(可选)483.1.8起始页介绍483.2使用Visual Studio创建程序493.3Visual Studio功能简介533.3.1菜单533.3.2解决方案资源管理器533.3.3快速启动563.3.4编辑器583.3.5运行和调试应用程序613.3.6调试代码623.3.7使用重构和 IntelliSense663.4NuGet简介683.4.1包、创建者、主机和使用者之间的关系683.4.2包的兼容性693.4.3NuGet工具703.4.4管理依赖项703.4.5跟踪引用和还原包713.5在Visual Studio中安装和使用包723.5.1程序包管理器UI723.5.2程序包管理器控制台743.5.3在应用中使用Newtonsoft.Json API75第4章ASP.NET Core简介774.1为何使用 ASP.NET Core774.2ASP.NET Core启动的秘密784.2.1ASP.NET Core启动流程784.2.2宿主构造器:WebHostBuilder794.2.3UseStartup〈Startup〉()804.2.4WebHostBuilder.Build()824.2.5WebHost.Initialize()854.2.6WebHost.Run()874.2.7构建请求处理管道874.2.8启动WebHost904.2.9启动Server924.2.10启动IHostedService934.3ASP.NET Core中间件944.3.1什么是中间件944.3.2中间件的运行方式944.3.3中间件排序964.3.4Use、Run和Map方法984.3.5内置中间件1034.4ASP.NET Core中的静态文件1044.4.1如何将静态文件注入到项目中1054.4.2自定义静态文件夹1074.4.3添加默认文件支持1094.4.4设置HTTP响应标头1104.4.5启用目录浏览1124.5ASP.NET Core中的配置1134.5.1配置相关的包1144.5.2文件配置1154.5.3XML配置1204.5.4按环境配置1214.5.5在Razor页面中访问配置1224.5.6其他配置方式1224.6ASP.NET Core中的日志记录1234.6.1日志模型三要素1244.6.2日志记录级别1254.6.3将日志写入不同的目的地1264.6.4添加筛选功能1304.6.5根据等级过滤日志消息1314.6.6设置文件配置1334.6.7作用域1354.6.8日志记录建议1374.7在ASP.NET Core中使用多个环境1374.7.1环境1374.7.2在运行时确定环境1374.7.3开发环境1394.7.4生产环境1414.7.5基于环境的Startup类和方法1424.8Session详解1424.8.1什么是Session1424.8.2理解Session机制1434.8.3ASP.NET Core中的Session1444.8.4ASP.NET Core中如何使用Session1454.9ASP.NET Core中的缓存1494.9.1缓存的基础知识1494.9.2将数据缓存在内存中1494.9.3基于SQL Server的分布式缓存158第5章Entity Framework Core1675.1先决条件1675.2Visual Studio开发1675.2.1使用 NuGet的包管理器用户界面1675.2.2使用 NuGet的包管理器控制台1685.3创建数据库1685.4EF Core的两种编程方式1705.5EF Core 2.0 Database First的基本使用1705.6Entity Framework Core的实体特性1775.6.1数据注释特性——Key1785.6.2数据注释特性——Timestamp1825.6.3数据注释特性——ConcurrencyCheck1835.6.4数据注释特性——Required1845.6.5数据注释特性——MaxLength1865.6.6数据注释特性——MinLength1875.6.7数据注释特性——Table1885.6.8数据注释特性——Column1915.6.9数据注释特性——ForeignKey1935.6.10数据注释特性——NotMapped1965.7EF Core 2.0 Code First1995.8EF Core 2.0 Code First 创建数据库1995.8.1创建实体1995.8.2创建数据库2035.8.3数据库修改2045.8.4还原迁移2065.8.5删除迁移2075.8.6生成SQL脚本2085.8.7创建存储过程2095.8.8给数据库添加初始数据2095.9用EF Core 2.0 Code First查询数据2145.9.1查询的工作原理2155.9.2执行查询2155.9.3基本查询2165.9.4异步查询2175.9.5加载所有数据2185.9.6加载单个实体2185.9.7条件查询2195.9.8使用SQL语句查询2205.9.9基本SQL查询2215.9.10传递参数2215.9.11使用SQL查询,用LINQ编写条件排序2225.9.12跟踪与非跟踪查询2235.10EF Core 2.0 Code First保存数据2245.10.1添加数据2255.10.2修改数据2285.10.3删除数据2305.10.4单个 SaveChanges中的多个操作2325.10.5异步保存2355.10.6使用事务2355.10.7默认事务2355.10.8显式事务2355.11EF Core 2.0 Code First处理并发冲突2395.11.1并发冲突2395.11.2乐观并发2395.11.3检测并发冲突2415.11.4解决并发冲突2435.11.5使用时间戳和行级版本号246第6章ASP.NET Core MVC2536.1ASP.NET Core MVC概述2536.1.1什么是 MVC模式2536.1.2什么是ASP.NET Core MVC2546.2ASP.NET Core中的路由2596.2.1路由2596.2.2路由基础知识2596.2.3路由模板2636.2.4路由约束2636.2.5正则表达式2656.3ASP.NET Core中的模型绑定2666.3.1模型绑定简介2666.3.2模型绑定的工作原理2666.3.3数组绑定2696.3.4返回带格式的数据2706.4ASP.NET Core MVC 中的模型验证2716.4.1模型验证简介2716.4.2验证特性2726.4.3自定义验证2736.4.4客户端验证2756.4.5远程验证2776.5ASP.NET Core MVC 中的视图2796.5.1Razor视图引擎2796.5.2使用视图的好处2806.5.3创建视图2816.5.4控制器如何指定视图2816.5.5向视图传递数据2836.6ASP.NET Core 中的布局2886.6.1什么是布局2886.6.2指定布局2906.6.3导入共享指令2916.6.4在呈现每个视图之前运行代码2926.7ASP.NET Core 中的标记助手2936.7.1什么是标记助手2936.7.2标记助手的功能2946.7.3管理标记助手的作用域2966.7.4标记助手的智能提示支持2976.8ASP.NET Core 中的分部视图2996.8.1什么是分部视图2996.8.2何时使用分部视图3006.8.3声明分部视图3006.8.4分部视图访问示例3006.9ASP.NET Core 中的视图组件3046.9.1什么是视图组件3046.9.2如何创建视图组件类3046.9.3创建一个简单的视图组件3056.9.4调用视图组件作为标记助手3086.9.5在控制器方法中直接调用视图组件3096.9.6指定视图名称3106.10在ASP.NET Core MVC 中使用控制器处理请求3126.10.1什么是控制器3126.10.2定义操作3136.10.3控制器响应返回的方法3136.11ASP.NET Core 中的过滤器3146.11.1过滤器3146.11.2过滤器的工作原理3146.11.3授权过滤器3156.11.4资源过滤器3156.11.5操作过滤器3176.11.6异常过滤器3196.11.7结果过滤器3216.11.8内置过滤器特性3226.11.9取消和设置短路3236.11.10依赖关系注入3246.11.11过滤器示例3256.12ASP.NET Core 中的区域331第7章依赖注入3377.1什么是依赖注入3377.1.1什么是依赖3377.1.2什么是注入3387.1.3为什么要反转3387.1.4何为容器3407.2.NET Core DI3417.2.1构造函数注入行为3417.2.2实例的注册3417.2.3实例的生命周期3427.3DI在ASP.NET Core中的应用3497.3.1在Startup类中初始化3517.3.2在控制类中使用3527.3.3通过 HttpContext来获取实例3537.4在 ASP.NET Core 中将依赖项注入到视图中3547.4.1简单示例3547.4.2填充查找数据3567.5如何替换其他的IoC容器3587.5.1Autofac的基本使用3597.5.2用Autofac代替原来的IoC3647.5.3一个接口对应多个实现的情况369第8章Razor视图3738.1什么是Razor3738.2Razor保留关键字3748.2.1Razor关键字3748.2.2C# Razor关键字3748.3使用Razor语法编写表达式3758.3.1隐式 Razor表达式3758.3.2显式 Razor表达式3778.3.3表达式的编码3788.4Razor代码块3798.5Razor逻辑条件控制3828.5.1if和switch条件语句3828.5.2循环语句383[email protected][email protected][email protected]8.5.6注释3878.6指令3878.7ASP.NET Core中的 Razor页面介绍3898.7.1启用Razor页面3898.7.2Razor页面介绍3908.7.3编写基本窗体3918.7.4页面的URL生成4058.7.5针对一个页面的多个处理程序406第9章Web UI框架的选择4129.1以JQuery为核心的前端框架4139.1.1EasyUI4139.1.2DWZ JUI4149.1.3LigerUI4159.2以Bootstrap为核心的前端框架4169.2.1HUI4169.2.2H+ UI4169.2.3Ace Admin4179.2.4Metronic4189.2.5AdminLTE4199.2.6INSPINIA4209.3以ExtJS为核心的前端框架421参考文献423 上一篇: 高等院校软件工程专业规划教材 人机交互:软件工程视角 [骆斌 主编] 2012年版 下一篇: 清华开发者书库 Dart语言实战:基于Flutter框架的程序开发 亢少军 2020年版