这是我的场景:
- 我有一个 C# blob 触发器 azure 函数(alwaysON 设置为 true)。
- 我正在使用以下命令设置功能应用程序的应用程序设置 New-AzureRmResource ps cmdlet。
- 我通过在“https://$functionAppName.scm.azurewebsites.net/api/zip/site/wwwroot”上调用 PUT Rest 调用来上传 zip 文件(其中包含 run.csx、函数)来部署 azure 函数.json 和 bin/*.dll 文件)。
- 我使用 CloudConfigurationManager.GetSetting(settingKey) 获取 *.dll 文件中的应用程序设置。我对这些应用程序设置进行 IsNullOrWhiteSpace 检查以引发 ConfigurationErrorsException。
问题:部署后,azure 函数的第一个触发器总是失败。如果应用程序设置为 IsNullOrWhiteSpace,它会失败并出现 ConfigurationErrorsException 异常,我会抛出该异常。 第一次触发失败后大约一分钟后,所有后续触发都开始成功。
加载应用程序设置需要时间吗? 你们中有人以前遇到过这样的问题吗?解决方法/解决方案是什么?
最佳答案
您不应在 Azure 应用服务中使用 CloudConfigurationManager,因为该组件是为云服务(不同的 Azure 产品)设计的。您应该避免完全引用该程序集。
只需使用 ConfigurationManager.AppSettings["YourSetting"]
即可访问您的应用设置。
关于c# - 部署后Azure函数应用程序设置为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44788330/