首页 > 解决方案 > 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的一个或两个的单例注册?ExternalClassOneExternalClassTwo

标签: c#asp.net-core.net-coredynamicconfiguration

解决方案


推荐阅读