gpt4 book ai didi

asp.net-core - appsettings.json 是如何加载到 ASP.NET Core 中的

转载 作者:行者123 更新时间:2023-12-04 19:27:49 25 4
gpt4 key购买 nike

NET Core 2.x Web API 项目模板提供了一个 Program.csStartup.cs (除其他外,默认情况下)。

如果在 Startup 的构造函数中放置一个断点, 并添加一个 watch 你可以看到从 appsettings.json 加载的值.

enter image description here
Startup.csProgram.cs没有明确加载 appsettings.json ,所以它一定发生在对 CreateDefaultBuilder 的调用中或 BuildProgram .

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

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}

我查看了 https://github.com/aspnet/Configuration 上的 Microsoft 源代码和 https://github.com/aspnet/Hosting ,尤其是 WebHostBuilder ,但我看不到它发生在哪里。

加载 appsettings.json的代码在哪里?

最佳答案

appsettings.json通过调用 CreateDefaultBuilder 加载位于 Microsoft.AspNetCore.WebHost.

 //snip
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
//snip

GitHub 上提供的源代码 - https://github.com/aspnet/AspNetCore/blob/master/src/DefaultBuilder/src/WebHost.cs#L165

关于asp.net-core - appsettings.json 是如何加载到 ASP.NET Core 中的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50846891/

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