gpt4 book ai didi

c# - .NET Core 2.2 下配置中 AddJsonFile 选项的默认值是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 20:52:05 26 4
gpt4 key购买 nike

根据 some wise source ,有一个名为 AddJsonFile 的方法用于读取配置文件。 One of its signatures允许指定可选的reloadOnChange

IConfigurationRoot config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("config.json", false, false)
.Build();

但是,如果我使用没有明确指定的签名,我找不到有关默认值的信息。我可以假设它是 false,基于它是 bool 值的默认值这一事实(即 default(bool)false) .

但我更喜欢明确和可链接地说明内容。

最佳答案

引用源代码:https://github.com/aspnet/Configuration/blob/master/src/Config.Json/JsonConfigurationExtensions.cs

据此,如果您不提供参数,它们就是错误的。请注意以下方法:

        /// <summary>
/// Adds the JSON configuration provider at <paramref name="path"/> to <paramref name="builder"/>.
/// </summary>
/// <param name="builder">The <see cref="IConfigurationBuilder"/> to add to.</param>
/// <param name="path">Path relative to the base path stored in
/// <see cref="IConfigurationBuilder.Properties"/> of <paramref name="builder"/>.</param>
/// <returns>The <see cref="IConfigurationBuilder"/>.</returns>
public static IConfigurationBuilder AddJsonFile(this IConfigurationBuilder builder, string path)
{
return AddJsonFile(builder, provider: null, path: path, optional: false, reloadOnChange: false);
}
}

正如您在问题前面提到的,您可以使用此方法的另一个重载来设置 reloadOnChange 值。下面是示例代码 from MSDN :

public class Program
{

public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: false);

config.AddCommandLine(args);
})
.UseStartup<Startup>();
}

关于c# - .NET Core 2.2 下配置中 AddJsonFile 选项的默认值是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54278134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com