【问题标题】:Reading or accessing Custom Configuration extension in .net core在 .net core 中读取或访问自定义配置扩展
【发布时间】:2020-02-29 16:51:57
【问题描述】:

我根据以下文章构建了一个自定义配置(提供程序和服务)。 https://medium.com/@dneimke/custom-configuration-in-net-core-2-193ff6f02046

现在,当想要在使用 DI 时从 IConfiguration 访问自定义添加的提供程序时。

我在启动时的Configuration 看起来像

它显示它有 6 个提供程序,标记的第 5 个索引是我的自定义配置。

在我的控制器中注入 IConfiguration 时,我如何访问我添加的自定义配置(第 5 个索引)?

需要从自定义配置中获取connection和connectionsettings的值

TIA

【问题讨论】:

  • 如何设置connection和connectionsettings?

标签: c# asp.net-core dependency-injection configuration


【解决方案1】:

例如,您可以从IConfigurationRoot.Providers 获取所有配置提供程序

public class HomeController : Controller
{
    private readonly IConfiguration _configuration = null;
    private readonly ApplicationDbContext _dbContext;

    public HomeController(IConfiguration configuration, ApplicationDbContext dbContext)
    {
        _configuration = configuration;
        _dbContext = dbContext;
    }

    public IActionResult Index()
    {
        var configurationRoot = _configuration as IConfigurationRoot;

        var provider = (DbProvider)configurationRoot.Providers.Last();

       // Or get specific provider using index as below comment has shown
       // var list = configurationRoot.Providers.ToList();
       // var provider = (DbProvider)list[5];

        var connectionSettings = provider.connectionSettings;

        return View();
    }
}

【讨论】:

    猜你喜欢
    • 2012-11-08
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    相关资源
    最近更新 更多