在函数执行C#期间在Azure函数中动态创建AppSettings

时间:2017-10-02 17:02:10

标签: azure azure-functions

我正在使用预编译的Azure功能,我知道我可以使用ConfigurationManager.AppSettings [“keyname”]在App Settings中读取值。

我一直在尝试使用以下内容创建额外的App设置:

var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var settings = configFile.AppSettings.Settings;
settings.Add(pair.Key, pair.Value);

但是,当我尝试这个时,我收到以下错误消息:

exePath must be specified when not running inside a stand alone exe. 

任何想法,如果这是可能的?或者能够提供一个如何让它工作的指针?

3 个答案:

答案 0 :(得分:4)

Azure Functions运行时配置文件不可写,但在运行App Service时,它继承了它支持的应用程序设置功能,这使您可以管理将作为应用程序设置和环境变量注入的设置。运行时通过门户网站。

您可以通过ARM或CLI以编程方式管理这些设置。

请记住,对这些设置的更改将触发站点重新启动,因此根据您的方案,如果您需要动态更新的设置,您可能需要考虑使用其他配置/设置源,包括缓存选项像Redis一样维持共享状态。

答案 1 :(得分:3)

您无法将应用程序设置动态添加到功能应用程序。添加它们的方法是通过Portal,ARM API或CLI工具添加Azure应用程序设置。

答案 2 :(得分:0)

我在寻找这个答案时发现了这个线程。您可以使用应用程序配置服务,以便动态更新它。天蓝色的功能 https://docs.microsoft.com/en-us/azure/azure-app-configuration/overview

请注意,在免费层级应用配置服务上,它每天允许 1,000 个请求,而标准允许每小时 20,000 个请求。似乎在 .NET 中你可以缓存一些。