Чтение или доступ к расширению Custom Configuration в .net core - PullRequest
0 голосов
/ 04 ноября 2019

Я создал пользовательскую конфигурацию (поставщик и услуги), основываясь на приведенной ниже статье. https://medium.com/@dneimke/custom-configuration-in-net-core-2-193ff6f02046

Теперь, когда вы хотите получить доступ к пользовательскому добавленному провайдеру из IConfiguration при использовании DI.

Мой Configuration при запуске выглядит как

enter image description here

Это показывает, что у него есть 6 провайдеров, и 5-й индекс, помеченный, был моей пользовательской конфигурацией.

Как я могу получить доступ к пользовательской конфигурации, добавленной мной (5-й индекс) при введении IConfiguration в мои контроллеры?

enter image description here

Необходимо получить значение connection и настройки соединения из пользовательской конфигурации

TIA

1 Ответ

0 голосов
/ 05 ноября 2019

Вы можете получить всех провайдеров конфигурации от 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();
    }
}
...