gpt4 book ai didi

c# - 如何将 local.settings.json 从 azure 函数移植到 .NET 核心 Web 项目?

转载 作者:行者123 更新时间:2023-12-05 03:56:15 25 4
gpt4 key购买 nike

我对如何处理 web 项目中的本地设置有点困惑,对于我们的 Azure 功能来说,这似乎非常微不足道,我们正在使用 local.settings.json 然后我们使用下面的 ConfigurationBuilder 来处理本地与 Azure 配置设置

private static readonly IConfiguration config = new ConfigurationBuilder()
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();

private static readonly string cosmosDBEndpointUrl = config["cosmosDBEndpointUrl"];
private static readonly string cosmosDBPrimaryKey = config["cosmosDBPrimaryKey"];
private static readonly string cosmosDBName = config["cosmosDBName"];
private static readonly string cosmosDBCollectionNameRawData = config["cosmosDBCollectionNameRawData"];

这对我们的功能来说效果很好,因此它可以读取本地开发的本地设置和我们发布到的任何环境的 azure 设置。

但是在我的 webproject 中没有 local.settings.json 那么我该如何处理那里的相同场景呢?

我查看了 appsettings.json,但格式似乎有所不同。

最佳答案

两者几乎相同。您可以根据需要使用任何 myFile.config.json。您需要做的就是从您的 Startup 类中注入(inject)它。

var config = new ConfigurationBuilder()
..SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("app.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();

要访问文件中的值,您可以使用 IConfiguration 类。例如:

public MyService(IConfiguration configuration){
var emailConfig = configuration.GetSection("Email");
var userName = emailConfig["Username"];
}

更好的方法是让 .json 文件基于环境。

关于c# - 如何将 local.settings.json 从 azure 函数移植到 .NET 核心 Web 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59558731/

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