c# - 部署后Az​​ure函数应用程序设置为空

标签 c# azure deployment azure-functions appsettings

这是我的场景:

  • 我有一个 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# - 部署后Az​​ure函数应用程序设置为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44788330/

相关文章:

c# - 想要从控件的客户端实现可见性,而从服务器端不可见

c# - 一行 LINQ 将 string[] 展平为字符串?

c# - 对不同 DC 中的 Azure 表存储的请求变得越来越慢

django - 在 aws 中使用 Auto Scaling 组和 ELB 构建系统

java - Jersey 部署

ruby - 无法将 Heroku 应用程序升级到 ruby​​ 2.1.3

c# - 警告 MSB3270 : mismatch between the processor architecture of the project

c# - 表达式树 - 在外部 lambda 中编译内部 lambda - 作用域解析

Azure OpenAI 嵌入与 OpenAI 嵌入

尽管处理了 RoleEnvironment.Changing 事件并将 Cancel 设置为 false,但 Azure Webroles 在配置更改后仍会回收