【问题标题】:How to get IConfiguration for AddSingleton?如何获取 AddSingleton 的 IConfiguration?
【发布时间】:2022-10-07 19:15:35
【问题描述】:

所以我使用 .net FW 6.0 minimap API 并添加一些服务和配置,如下所示:

var builder = WebApplication.CreateBuilder();
builder.Configuration.AddJsonFile("appsettings.json");
builder.Services.AddTransient<IDockerService, DockerService>();
var app = builder.Build();
...

所以现在我想在我的服务集合中添加一个单例,但是当它解决时我想插入一个配置项 - 为此我需要访问配置,但因为它在我注册时没有构建,我无法访问它,所以我陷入了一个循环:

builder.Services.AddSingleton<MyService>((provider) => 
{  
   // Read a value out of configuration here, but how?
});

【问题讨论】:

    标签: .net configuration


    【解决方案1】:

    不确定我是否正确理解了这个问题,但为什么不在那里使用builder.Configuration

    var builder = WebApplication.CreateBuilder();
    builder.Configuration.AddJsonFile("appsettings.json");
    
    var configuration = builder.Configuration;
    
    builder.Services.AddTransient<IDockerService, DockerService>();
    
    builder.Services.AddSingleton<MyService>((provider) => 
    {  
       // Read a value out of configuration here, but how?
       configuration["Key"]
    });
    
    var app = builder.Build();
    

    【讨论】:

      猜你喜欢
      • 2018-01-26
      • 2020-09-16
      • 2020-08-27
      • 2018-06-09
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      相关资源
      最近更新 更多