3

我正在构建我的第一个功能应用程序,所以如果我问了一个愚蠢的问题,请记住这一点 :)

我需要在运行时存储一些设置。在标准桌面应用程序中,我可以使用以下方法轻松更新app.config

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

config.AppSettings.Settings["UserId"].Value = "myUserId";     
config.Save(ConfigurationSaveMode.Modified);

但在 Function App 中,我使用以下方式加载配置ConfigurationBuilder

var config = new ConfigurationBuilder()
    .SetBasePath(context.FunctionAppDirectory)
    .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
    .AddEnvironmentVariables()
    .Build();

并且无法更新该配置对象。在本地开发时,我可以更新 local.settings.json,但在 Azure 上运行时,一切都是从Application settings(环境变量)加载的。

我的问题是:如何更新与我的 Function App 关联的应用程序设置中的单个值?

我发现了一个类似的问题,但那里的解决方案需要在 AAD 中注册应用程序,并且它正在更新所有设置,而不仅仅是一个值。

4

1 回答 1

1

看看基于 appsettings.json 的方法。

请注意,Azure 函数(尚)不支持对 appsettings.json 文件的内置支持。有一个github issue可以跟踪这个问题。

目前做事情的方法很少。此处的示例答案: Azure Functions,如何拥有多个 .json 配置文件

github 上也描述了类似的解决方案: https ://github.com/Azure/azure-functions-host/issues/4464#issuecomment-494367524

于 2019-08-14T20:36:39.563 回答