知行合一|

hiwwwk

园龄:5年1个月粉丝:4关注:12

随笔分类 -  .NET Core开发实战

.NET Core开发实战基础笔记
摘要:04 | Startup:掌握ASP.NET Core的启动过程 05 | 依赖注入:良好架构的起点 06 | 作用域与对象释放行为:你知道IDisposable对象释放的时机和坑吗? 07 | 用Autofac增强容器能力:引入面向切面编程(AOP)的能力 08 | 配置框架:让服务无缝适应各种环
266
0
0
25 | 路由与终结点:如何规划好你的Web API
摘要:路由注册方式 路由的核心作用就是:URL和应用程序Controller的对应关系的一种映射映射关系实际上有两种: 把URL映射到我们对应的Controller的action上面去 根据Controller和action的名字来生产URL .NET Core 提供了两种路由注册的方式: 路由模板的方式
79
0
0
24 | 文件提供程序:让你可以将文件放在任何地方
摘要:文件提供程序核心类型 IFileProvider IFileInfo IDirectoryContents IFileProvider 是访问各种各样文件提供程序的接口通过这样子抽象的定义,让我们与具体的抽象文件的读取的代码进行了隔离这样的好处是我们可以从不同的地方去读取文件,不仅仅是我们的物理文件
81
0
0
23 | 静态文件中间件:前后端分离开发合并部署骚操作
摘要:静态文件中间件的能力 支持指定相对的路径 支持目录浏览 支持设置默认文档 支持多目录映射 首先使用静态文件中间件 // 通过这一行代码就可以访问到静态配置文件 app.UseStaticFiles(); 这样就可以将 wwwroot 目录映射出来,这是一个默认的配置,也就是说,当我们需要使用中间件静
234
0
0
21 | 中间件:掌控请求处理过程的关键
摘要:中间件的工作原理 ASP.NET Core 请求管道包含一系列请求委托,依次调用。每个委托均可在下一个委托前后执行操作。 应尽早在管道中调用异常处理委托,这样它们就能捕获在管道的后期阶段发生的异常。 核心对象 IApplicationBuilder RequestDelegate RequestDe
66
0
0
22 | 异常处理中间件:区分真异常与逻辑异常
摘要:处理异常的方式 异常处理页 异常处理匿名委托 IExceptionFilter ExceptionFilterAttribute 示例 新建Web程序👉选择API模板在Controllers文件夹👉WeatherForecastController类👉Get方法首行抛出一个异常 public
95
0
0
20 | 结构化日志组件Serilog:记录对查询分析友好的日志
摘要:结构化日志的好处 易于检索 易于分析统计 场景举例 实现日志告警 实现上下文的关联 实现追踪系统集成 示例 首先我们新建Web程序👉选择API模板改造Program类 using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Co
136
0
0
19 | 日志作用域:解决不同请求之间的日志干扰
摘要:日志作用域的场景 ​ 一个事务包含多条操作时 复杂流程的日志关联时 调用点追踪与请求处理过程对应时 示例 继续沿用上一节代码,稍微做一些修改 using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Dependency
92
0
0
18 | 日志框架:聊聊记日志的最佳姿势
摘要:新建控制台应用程序👉命名LoggingSimpleDemo using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Lo
88
0
0
16 | 选项数据热更新:让服务感知配置的变化
摘要:选项框架关键类型 IOptionsMonitor IOptionsSnapshot 场景 范围作用域类型使用IOptionsSnapshot 单例服务使用IOptionsMonitor 通过代码更新选项 IPostConfigureOptions 示例 延续使用上一节代码,稍微做些特殊处理将Orde
51
0
0
17 | 为选项数据添加验证:避免错误配置的应用接收用户流量
摘要:三种验证方法 直接注册验证函数 实现IValidateOptions 使用Microsoft.Extensions.Options.DataAnnotations 示例 直接注册验证函数继续使用上一节代码,需要稍微修改一点代码。 using Microsoft.Extensions.Configur
54
0
0
15 | 选项框架:服务组件集成配置的最佳实践
摘要:特性 支持单例模式读取配置 支持快照 支持配置变更通知 支持运行时动态修改选项值 设计原则 接口分离原则(LSP),我们的类不应该依赖它不适用的配置 关注点分离(SOC),不同组件、服务、类之间的配置不应相互依赖或耦合 建议 为我们的服务设计XXXOptions 使用IOptions<XXXOpti
43
0
0
14 | 自定义配置数据源:低成本实现定制化配置方案
摘要:扩展步骤 实现IConfigurationSource 实现IConfigurationProvider 实现AddXXX扩展方法 示例 新建控制台应用程序👉命名ConfigurationCustom👉引入包Microsoft.Extensions.Configuration👉新建三个类:My
70
0
0
13 | 配置绑定:使用强类型对象承载配置数据
摘要:要点 支持将配置值绑定到已有对象 支持将配置值绑定到私有属性上 默认情况下我们只能绑定public的 示例 继续沿用我们上一次创建的控制台应用程序,新添加一个包Microsoft.Extensions.Configuration.Binder首先我们新建一个类,来作为我们接受配置的实例 class
45
0
0
12 | 配置变更监听:配置热更新能力的核心
摘要:场景 需要记录配置源的变更时 需要在配置数据变更时触发特定操作时 当我们需要追踪我们的配置发生变化时,在配置发生变化时我们需要执行一些特定的操作的时候,这个时候就需要我们来进行一定的编码,来跟踪我们配置的变化 关键方法 IChangeToken IConfiguration.GetReloadTok
89
0
0
11 | 文件配置提供程序:自由选择配置的格式
摘要:文件配置提供程序 Microsoft.Extensions.Configuration.Ini Microsoft.Extensions.Configuration.Json Microsoft.Extensions.Configuration.NewtonsoftJson Microsoft.Ex
73
0
0
10 | 环境变量配置提供程序:容器环境下配置注入的最佳途径
摘要:适用场景 在Docker中运行时 在Kubernetes中运行时 需要设置ASP.NET Core的一些内置特殊配置时 我们当时一个操作系统会跑多个应用程序,应用程序注入配置的方式一般都是通过文件或者说是命令行的方式来注入的。现在在容器化的环境下面,有了Docker的隔离能力,就意味着每一个应用程序
122
0
0
08 | 配置框架:让服务无缝适应各种环境
摘要:核心组件包 Microsoft.Extensions.Configuration.Abstractions Microsoft.Extensions.Configuration 在NuGet添加 配置框架 以**key-value**字符串键值对的方式抽象了配置 支持从不同的数据源读取配置 命令行、
58
0
0
09 | 命令行配置提供程序:最简单快捷的配置注入方法
摘要:支持的命令格式 无前缀的 **key=value** 模式 双中横线模式 **--key==value** 或 **--key value** 正斜杠模式 **/key=value**** **或 **/key value** 备注: 等号分隔符和空格分隔符不能混用 命令替换模式 这个模式是指我们可
45
0
0
07 | 用Autofac增强容器能力:引入面向切面编程(AOP)的能力
摘要:什么情况下需要引入第三方容器组件 基于名称的注入 我们需要把一个服务,按照名称来区分它不同的实现的时候 属性注入 之前提到过,我们的注入方式有FromServices的方式,还有构造函数入参的方式,直接可以把服务注册到某一个类的属性里面去。 子容器 子容器其实可以理解成之前讲过的Scope,还可以用
133
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起