Можно очень легко получить доступ к "строкам подключения" или другим данным конфигурации в ядре .Net без особых дополнительных усилий.
Просто то, что система конфигурации эволюционировала (во что-то гораздо лучшее), и мы имеемчтобы сделать это также (и следуйте рекомендуемым методам).
В вашем случае, когда вы получаете доступ к значению строки подключения в стандартной библиотеке (предназначенной для повторного использования), вы не должны делать предположения о том, какЗначения конфигурации будут «поданы» вашему классу.Это означает, что вы не должны писать код для чтения строки подключения непосредственно из файла конфигурации - вместо этого полагайтесь на механизм внедрения зависимостей, чтобы предоставить вам необходимую конфигурацию - независимо от того, как она была сделана доступной для вашего приложения.
Один из способов сделать это - «потребовать» вставки объекта IConfiguration в конструктор вашего класса, а затем использовать метод GetValue для получения значения для соответствующего ключа, например:
public class IndexModel : PageModel
{
public IndexModel(IConfiguration config)
{
_config = config;
}
public int NumberConfig { get; private set; }
public void OnGet()
{
NumberConfig = _config.GetValue<int>("NumberKey", 99);
}
}
В ядре .net перед настройкой и запуском приложения настраивается и запускается «хост».Хост отвечает за запуск приложения и управление временем жизни.И приложение, и хост настраиваются с использованием различных «провайдеров конфигурации».Пары ключ-значение конфигурации хоста становятся частью глобальной конфигурации приложения.
Источники конфигурации считываются в том порядке, в котором их поставщики конфигурации указаны при запуске.
.Net core поддерживает различных «провайдеров». Прочтите эту статью для полной информации по этой теме .