v2上C#中的Azure函数-如何访问门户网站应用程序设置

时间:2019-09-18 11:35:31

标签: c# azure azure-functions

从2019年9月开始,使用C#编写Azure函数与ASP.NET Core有一些交叉,尤其是在依赖项注入方面。

隐藏的“主机生成器”是否将运行时应用程序设置(我认为实际上只是运行时的环境变量)读入配置系统IConfiguration中?

因此,双下划线名称可用于重新创建C#开发人员已知的分层配置。

1 个答案:

答案 0 :(得分:3)

Azure函数支持与ASP.NET Core类似的约定。

"EmailSettings__Sender": "xy@gmail.com",
"EmailSettings__From": "Hello xy@gmail.com",

可以绑定到以下POCO

 public class EmailSettings
 {
       public string Sender { get; set; }
       public string From { get; set; }
 }

像这样使用ConfigurationBuilder

 var provider = builder.Services
                .BuildServiceProvider();

 var executionContextOptions = provider
                              .GetService<IOptions<ExecutionContextOptions>>()
                              .Value;

   var config = new ConfigurationBuilder()
                .SetBasePath(executionContextOptions.AppDirectory)
                .AddEnvironmentVariables()
                .AddJsonFile("local.settings.json", true, true)
                .Build();

 // other initialization code
config.GetSection(nameof(EmailSettings)).Get<EmailSettings>()

在启动功能时。要进行部署,请将这些键/值对放入门户网站功能的“应用程序设置”中。

这就是我们在生产中进行设置的方式,并且效果很好。