c# - ASP.NET Core 运行时(动态)配置外部库设置?
问题描述
在我的服务中,我一直在关注为我的服务设置运行时配置的文档IOptionsMonitor
,使用. 我现在正在做的事情适用于运行时配置更新:
class MySettings {
//settings...
}
class Startup {
//...
public void ConfigureServices(IServiceCollection services) {
services.Configure<MySettings>(Configuration);
services.AddSingleton<SomeSingleton>();
//... more configuration
}
}
class SomeSingleton {
public SomeSingleton(IOptionsMonitor<MySettings> optionsMonitor) {
//constructor...
}
}
在上面的示例SomeSingleton
中,能够成功地从我的配置提供程序中看到运行时更新。但是,现在假设我要注册两个外部(即不可编辑)类:
class ExternalClassOne {
public ExternalClassOne(ExternalClassOneSettings settings) {
//constructor...
}
}
class ExternalClassTwo {
public ExternalClassOne(IOptions<ExternalClassTwoSettings> settings) {
//constructor...
}
}
假设ExternalClassOneSettings
并且ExternalClassTwoSettings
是仅具有公共get/set
属性的类,是否无论如何都可以启用运行时更新ExternalClassOneSettings
以及/ExternalClassTwoSettings
的一个或两个的单例注册?ExternalClassOne
ExternalClassTwo
解决方案
推荐阅读
- swift - 快速加载网站以在不加载视图的情况下抓取代码 | 网络套件
- python - AttributeError: 'NoneType' 对象没有属性 'year' (在尝试转换日期的列表中迭代时发生)
- assembly - 多次退货时对业绩的影响
- python - dataframe.corr 相关性中数据帧的大小是否有限制?
- python - pandas - 将一列转换为三列
- javascript - 如何在特定时间获取音频源的 FFT
- html - HTML 输出加载和显示滚动条的时间过长
- magento - 在页面加载时获取数据库查询日志
- react-native - 如何使用 eslint 设置内联样式规则?
- discord.py - discord.py 如何使用 client.login 而不是 client.run