如何在 .Net 5 中获取 Azure Timer 函数中的 IConfiguration
How to get IConfiguration in Azure Timer function in .Net 5
我需要使用 DI 将 .Net 5 隔离进程 Azure 函数中的 IConfiguration 获取到 ConfigureServices。我该怎么做?
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureServices(s => {
// Get IConfiguration
// Configure services based on config settings
})
.Build();
您可以使用 ConfigureServices(Action<HostBuilderContext, IServiceCollection> configureDelegate)
重载。
这样,您就可以访问包含 IConfiguration
的 HostBuilderContext
(如果需要,还可以访问 IHostEnvironment
)。
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureServices((hostBuilderContext, s) =>
{
// Get IConfiguration
var configuration = hostBuilderContext.Configuration;
// Configure services based on config settings
})
.Build();
如果需要,您还可以通过 ConfigureAppConfiguration(Action<HostBuilderContext, IConfigurationBuilder> configureDelegate)
方法自定义配置:
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureAppConfiguration((hostingContext, configBuilder) =>
{
configBuilder
.AddJsonFile("custom-settings.json", optional: true, reloadOnChange: true)
;
})
.ConfigureServices((hostBuilderContext, s) =>
{
// Get IConfiguration
var configuration = hostBuilderContext.Configuration;
// Configure services based on config settings
})
.Build();
我需要使用 DI 将 .Net 5 隔离进程 Azure 函数中的 IConfiguration 获取到 ConfigureServices。我该怎么做?
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureServices(s => {
// Get IConfiguration
// Configure services based on config settings
})
.Build();
您可以使用 ConfigureServices(Action<HostBuilderContext, IServiceCollection> configureDelegate)
重载。
这样,您就可以访问包含 IConfiguration
的 HostBuilderContext
(如果需要,还可以访问 IHostEnvironment
)。
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureServices((hostBuilderContext, s) =>
{
// Get IConfiguration
var configuration = hostBuilderContext.Configuration;
// Configure services based on config settings
})
.Build();
如果需要,您还可以通过 ConfigureAppConfiguration(Action<HostBuilderContext, IConfigurationBuilder> configureDelegate)
方法自定义配置:
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureAppConfiguration((hostingContext, configBuilder) =>
{
configBuilder
.AddJsonFile("custom-settings.json", optional: true, reloadOnChange: true)
;
})
.ConfigureServices((hostBuilderContext, s) =>
{
// Get IConfiguration
var configuration = hostBuilderContext.Configuration;
// Configure services based on config settings
})
.Build();