1.
public class OptionController : ControllerBase{private readonly BlogOptions _blogOptions;public OptionController(IOptions
2.
public class OptionController : ControllerBase{private readonly BlogOptions _blogOptions;public OptionController(IOptionsSnapshot
3.
public class OptionController : ControllerBase{private readonly BlogOptions _blogOptions;public OptionController(IOptionsMonitor
启动应用 , 调用一次 Get 接口 , 在 Api 控制器构造函数中注册了配置加载触发事件,之后修改 .json 配置文件中选项类对于的配置节点内容,可以看到事件触发,控制台中输出了改变之后的选项类内容 。
4. 三个接口的选项读取机制演示
三个接口解析的选项类的差别,可以通过以下测试清楚得看出:
配置文件中初始选项节点如下:
"Blog": {"Title": "ASP.NET Core Options11","Content": "This is a blog about Options System in ASP.NET Core Framework.","CreateTime": "2022-12-06"}
这里为了方便看出生命周期 接口的变化,所有通过 Web Api 接口来测试
public class OptionController : ControllerBase{private readonly IOptions
之后启动应用调用 Get 接口 , 并在过程中将配置文件内容修改为以下:
文章插图
"Blog": {"Title": "ASP.NET Core Options222","Content": "This is a blog about Options System in ASP.NET Core Framework.","CreateTime": "2022-12-06"}
可以看到控制台的输出中,第二次读取配置的时候 , 接口读取到的内容已经改变
【ASP.NET Core - 选项系统之选项使用】之后不要关闭应用,再调一次 Get 接口 , 并在过程中再次修改配置如下:
"Blog": {"Title": "ASP.NET Core Options333","Content": "This is a blog about Options System in ASP.NET Core Framework.","CreateTime": "2022-12-06"}
这一次的 Get 请求的输出结果如下:
可以看到 接口每次都能获取到配置文件的实时值,接口相较于第一次调用 Get 接口的时候已经改变,获取到了之前修改的值,但是之后的修改它又获取不到了,因为它是生命周期,在一次请求内是保持一致的 , 而 接口获取到的选项类对象是一致不变的 。
- 【项目实战】ASP.NET技术开发的校园一卡通管理系统
- HNU-操作系统OS-ucoreLab系列-感悟
- zotero
- 如何在Raspberry Pi 3B中安装Windows 10 IoT Core
- GLENCORE是什么意思 glencore是什么牌子
- patchcore: Towards Total Recall in Indus
- 在.net Core 3.0中使用jwt验证
- 电脑一开机就高级选项
- 盈世Coremail金蝶金山三大B2B企业共聚黄山 企业级市场站在风口
- Ⅱ 可测试性设计原理:Wrapping Core