【问题标题】:Azure function v3 config file with DI getting nulls带有 DI 的 Azure 函数 v3 配置文件为空
【发布时间】:2020-07-01 16:47:24
【问题描述】:

我们有一个 Azure 函数 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);
        });
    }
}

local.settings.json:

{
  "IsEncrypted": false,
  "Values": {
    "myConfig1": "xx"
  }
}

服务正在尝试获取值但得到空值

    public Service(IConfiguration configuration)
    {
        string myConfig1 = configuration["myConfig1"];

【问题讨论】:

    标签: dependency-injection configuration azure-functions config configuration-files


    【解决方案1】:

    我用这个解决了:

    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);
            });
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-06-18
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 2019-02-14
      • 2021-11-14
      • 1970-01-01
      • 2017-03-07
      • 2023-03-14
      相关资源
      最近更新 更多