部署后,Azure功能应用程序设置为空

时间:2017-06-27 19:26:47

标签: c# azure deployment azure-functions appsettings

以下是我的情景:

  • 我有一个c#blob触发器azure函数(alwaysON设置为true)。
  • 我正在使用功能应用设置appsettings New-AzureRmResource ps cmdlet。
  • 我正在通过调用" https://$functionAppName.scm.azurewebsites.net/api/zip/site/wwwroot"调用PUT Rest调用来部署azure函数。上传一个zip文件(包含run.csx,function.json和bin / * .dll文件)。
  • 我使用CloudConfigurationManager.GetSetting(settingKey)来获取* .dll文件中的appsettings。我对这些appsettings进行了IsNullOrWhiteSpace检查以抛出ConfigurationErrorsException。

问题:部署后,始终对azure函数的第一个触发器失败。如果appsetting是IsNullOrWhiteSpace,它会因为我抛出的ConfigurationErrorsException异常而失败。 在第一次失败的触发后大约一分钟后,所有后续触发都开始成功。

是否需要时间让appsettings加载? 你们有没有遇到过这样的问题?解决方法/解决方案是什么?

1 个答案:

答案 0 :(得分:7)

您不应该在Azure App Service中使用CloudConfigurationManager,因为该组件是专为云服务(不同的Azure产品)而设计的。您应该避免完全引用该程序集。

相反,只需使用ConfigurationManager.AppSettings["YourSetting"]即可访问您的应用设置。