Dependency injection Azure函数v3配置文件,DI获取空值

Dependency injection Azure函数v3配置文件,DI获取空值,dependency-injection,configuration,azure-functions,config,configuration-files,Dependency Injection,Configuration,Azure Functions,Config,Configuration Files,我们有一个Azure function v3,我们需要注入一个需要IConfiguration的服务,因此我们的代码如下: public class Startup : FunctionsStartup { public override void Configure(IFunctionsHostBuilder builder) { builder.Services.AddSingleton<IService>((s) => {

我们有一个Azure function v3,我们需要注入一个需要IConfiguration的服务,因此我们的代码如下:

public class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        builder.Services.AddSingleton<IService>((s) =>
        {
            var configuration = s.GetService<IConfiguration>();
            return new Service(configuration);
        });
    }
}
服务正在尝试获取值,但获取null

    public Service(IConfiguration configuration)
    {
        string myConfig1 = configuration["myConfig1"];
我解决了这个问题:

public class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        builder.Services.AddSingleton<IService>((s) =>
        {
            IConfiguration configuration = new ConfigurationBuilder()
                    .SetBasePath(Directory.GetCurrentDirectory())
                    .AddJsonFile("local.settings.json", true, true)
                    .Build();
            return new Service(configuration);
        });
    }
}
公共类启动:函数启动
{
公共覆盖无效配置(IFunctionsHostBuilder)
{
builder.Services.AddSingleton((s)=>
{
IConfiguration configuration=new ConfigurationBuilder()
.SetBasePath(目录.GetCurrentDirectory())
.AddJsonFile(“local.settings.json”,true,true)
.Build();
返回新服务(配置);
});
}
}
public class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        builder.Services.AddSingleton<IService>((s) =>
        {
            IConfiguration configuration = new ConfigurationBuilder()
                    .SetBasePath(Directory.GetCurrentDirectory())
                    .AddJsonFile("local.settings.json", true, true)
                    .Build();
            return new Service(configuration);
        });
    }
}