我正在尝试做的事情: 我正在尝试使用.net核心2.1 mvc Web应用程序在Azure App Configuration中设置带有前哨键的Azure App Configuration,目的是能够以天蓝色更改键,而没有一个键将在我的应用程序中更新,直到哨兵值已更改。从理论上讲,这应该允许我安全地热交换配置。
我的问题是: 执行此操作时,没有可用的WatchAndReloadAll()方法来监视IWebHostBuilder上的哨兵,并且备用的Refresh()方法似乎并未刷新状态。
背景信息以及我尝试过的内容: 上周,我参加了圣地亚哥的VS Live,并观看了有关Azure应用程序配置的演示。我在尝试使应用程序在隐含它时刷新配置值时遇到了一些问题,因此我也参考了此演示,介绍了如何执行此操作。相关部分的时间大约是10分钟。但是,该方法在IWebHostBuilder上似乎不可用。
我正在参考的文档: 在官方文档中没有对此方法的引用,请参阅doc quickstart .net core和doc dynamic configuration .net core
我的环境: 使用从Visual Studio Enterprise 2019运行的dot net core 2.1,以及适用于Microsoft.Azure.AppConfiguration.AspNetCore 2.0.0-preview-010060003-1250的最新预览nuget程序包
我的代码: 在演示中,他们通过CreateWebHostBuilder(string [] args)方法创建了一个IWebHostBuilder,如下所示:
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
var settings = config.Build();
config.AddAzureAppConfiguration(options =>
{
options.Connect(settings["ConnectionStrings:AzureConfiguration"])
.Use(keyFilter: "TestApp:*")
.WatchAndReloadAll(key: "TestApp:Sentinel", pollInterval: TimeSpan.FromSeconds(5));
});
})
.UseStartup<Startup>();
}
Run Code Online (Sandbox Code Playgroud)
我还使用当前文档以这种方式进行了尝试:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) …Run Code Online (Sandbox Code Playgroud)