Eli*_*fer 5 configuration azure-functions .net-5
我正在尝试将现有的 Functions 应用程序从 core3.1 v3 移植到 net5.0,但无法弄清楚如何使 IOptions 配置模式发挥作用。
我的配置local.settings.json存在于配置数据中,我可以使用 GetEnvironmentVariable 获取它。不过,以下内容并没有像以前那样将值绑定到 IOptions 配置。
.Services.AddOptions<GraphApiOptions>()
.Configure<IConfiguration>((settings, configuration) => configuration.GetSection("GraphApi").Bind(settings))
Run Code Online (Sandbox Code Playgroud)
这些值与local.settings.json之前一样:
"GraphApi:AuthenticationEndPoint": "https://login.microsoftonline.com/",
"GraphApi:ClientId": "316f9726-0ec9-4ca5-8d04-f39966bebfe1",
"GraphApi:ClientSecret": "VJ7qbWF-ek_Amb_e747nXW-fMOX-~6b8Y6",
"GraphApi:EndPoint": "https://graph.microsoft.com/",
"GraphApi:TenantId": "NuLicense.onmicrosoft.com",
Run Code Online (Sandbox Code Playgroud)
这仍然支持吗?我缺少什么?
小智 2
我遇到了同样的问题,但事实证明json 格式不正确。
仅供参考,这是我的配置方式:
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureServices(s =>
{
s.AddOptions<ApplicationSettings>().Configure<IConfiguration>((settings, configuration) =>
{
configuration.GetSection(nameof(ApplicationSettings)).Bind(settings);
});
})
.Build();
Run Code Online (Sandbox Code Playgroud)
这是 local.setting.json 的示例:
{
"IsEncrypted": false,
"Values": {
"ApplicationSettings:test": "testtest",
"ApplicationSettings:testtest": "test"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1755 次 |
| 最近记录: |