《深入浅出ASP.NET Core》读书笔记(一)
前言:本来是奔着.NET5去找书的,不过好像确实太新了,版本升级才没多久,想看实体书有点着急了。寻思了半天,发现《深入浅出ASP.NET Core》,内容是真不错,版本是 3.1,本来是当工具书备阅,最后决定从头到尾把基础再夯实一遍,毕竟3.1也没系统的学习过。而且自己平时学都是踩着坑绕着弯的,这次把书里基础的知识点记录下来,也帮助像我一样不爱看书的野路子学习方法,把坑填上,减少弯路!!!
学习工具: Visual Studio 2019
2.16号学习记录
创建MockSchoolManagement空项目(ASP.NET Core Web应用程序)
项目文件(.csproj) (PS:双击项目或者项目上鼠标右键->编辑项目文件)配置项说明[TargetFramework:目标框架,当前是net5.0,书本是netcoreapp3.1],[AppendTargetFrameworkToOutputPath:项目发布时,是否将框架版本号追加到指定的输出路径下],[AspNetCoreHostingModel:指定托管类型InProcess,OutOfProcess];
LaunchSettings.json: 环境类型[Development(开发环境), Staging(演示环境), Production(生产环境)],这里设置好参数,appsettings.json就会调用相应的配置
Secrets.json: 对应.csproj文件中(PS:双击项目或者项目上鼠标右键->编辑项目文件)的UserId,就是个json文件,花括号里可以写很多条键值对
appsettings.json: 配置文件
Iconfiguration: Startup.cs文件中,Startup构造函数依赖注入该接口,实现加载配置文件。 _configuration["key"] 读取值,读Secrets.json文件的值也这么操作
UseStaticFiles(): 静态文件中间件
StaticFilesOptions():静态文件中间件参数配置类, 比如静态文件夹名字,默认是wwwroot,vs2019中会自动修改显示图标。
UseDefaultFiles(): 默认首页配置中间件, 需配置在UseStaticFiles之前才能生效 默认查找首页文件的顺序:index.htm=>index.html=>default.htm=>default.html
DefaultFilesOptions: 默认首页配置中间件参数配置类【DefaultFilesNames.Clear(),清空默认文件配置】,【DefaultFilesNames.Add("xxx.html"),添加默认文件,会自己去wwwroot目录下搜索】
1 DefaultFilesOptions fileOption = new DefaultFilesOptions(); 2 fileOption.DefaultFileNames.Clear(); 3 fileOption.DefaultFileNames.Add("52abp.html"); 4 app.UseDefaultFiles(fileOption);
UseDirectoryBrowser:支持目录浏览,允许用户查看指定目录中的文件
UseFileServer():综合UseStaticFiles和UseDefaultFiles和UseDirectoryBrowser;
FileServerOptions: UseFileServer的默认文件配置类
1 FileServerOptions serverOption = new FileServerOptions(); 2 serverOption.DefaultFilesOptions.DefaultFileNames.Clear(); 3 serverOption.DefaultFilesOptions.DefaultFileNames.Add("abc.html"); 4 app.UseFileServer(serverOption);
UseDeveloperExceptionPage():异常信息页面中间件,应尽可能放在其他中间件前面,这样才能正确显示异常页面
DeveloperExceptionPageOptions():异常信息页面中间件参数配置类,[SourceCodeLineCount:显示引发异常代码的上下方代码行数]
IHosttingEnvironment:访问运行时环境
1 if (env.IsEnvironment("Test")) 2 { 3 DeveloperExceptionPageOptions exceptionOption = new 4 DeveloperExceptionPageOptions(); 5 exceptionOption.SourceCodeLineCount = 3; 6 app.UseDeveloperExceptionPage(exceptionOption); 7 } 8 else 9 { 10 app.UseExceptionHandler("/Error"); 11 }

浙公网安备 33010602011771号