v2上C#中的Azure功能-如何访问门户应用程序设置
截至2019年9月,在C#中编写Azure函数与ASP.NET核心有些交叉,特别是在依赖注入方面 隐藏的“主机生成器”是否将运行时应用程序设置(我认为实际上只是运行时的环境变量)读入配置系统,v2上C#中的Azure功能-如何访问门户应用程序设置,c#,azure,azure-functions,C#,Azure,Azure Functions,截至2019年9月,在C#中编写Azure函数与ASP.NET核心有些交叉,特别是在依赖注入方面 隐藏的“主机生成器”是否将运行时应用程序设置(我认为实际上只是运行时的环境变量)读入配置系统,IConfiguration 因此,可以使用双下划线名称重新创建C#devs知道的分层配置。Azure函数支持与ASP.NET核心类似的约定 "EmailSettings__Sender": "xy@gmail.com", "EmailSettings__From": "Hello xy@gmail.com
IConfiguration
因此,可以使用双下划线名称重新创建C#devs知道的分层配置。Azure函数支持与ASP.NET核心类似的约定
"EmailSettings__Sender": "xy@gmail.com",
"EmailSettings__From": "Hello xy@gmail.com",
可以绑定到以下POCO
公共类电子邮件设置
{
公共字符串发送方{get;set;}
来自{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>()
var provider=builder.Services
.BuildServiceProvider();
var executionContextOptions=提供程序
.GetService()
价值
var config=new ConfigurationBuilder()
.SetBasePath(executionContextOptions.AppDirectory)
.AddenEnvironmentVariables()
.AddJsonFile(“local.settings.json”,true,true)
.Build();
//其他初始化代码
config.GetSection(nameof(EmailSettings)).Get()
在函数的启动过程中。对于部署,将这些键/值对放入门户中功能的应用程序设置中
这就是我们在生产中设置它的方式,它工作正常。如果您想知道如何阅读应用程序设置,请参阅“您想阅读应用程序设置或添加设置吗?”如果您有一些支持此功能的文档的参考链接,请将其包含在您的答案中。@Nkosi:最新和全面的文档中关于Azure功能很难获得,特别是一些“边缘案例”,如配置。微软没有关于Azure功能和复杂应用程序设置的官方文件,但它们和ASP.NET核心有一些共同点。我只是说如果你有。这不是一个要求。我只是希望你在查找文档时比我在搜索时运气好。(是的,我知道你在开玩笑。无意冒犯)@Nkosi我听到了,我也花了很长时间,不得不把拼图拼起来。