TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.77K subscribers
Post #993 1.17K
День восемьсот восьмой. #ЗаметкиНаПолях
Как Посмотреть Параметры Конфигурации в
ASP.NET
Существует простой способ раскрыть конфигурацию приложения как конечную точку в вашем приложении ASP.NET Core.

GetDebugView() - это метод расширения IConfigurationRoot, который возвращает строку, описывающую конфигурацию приложения. В этой строке отображаются все ключи конфигурации в вашем приложении, связанное значение и источник значения.

Рассмотрим пример «стандартного» вывода метода GetDebugView():
AllowedHosts=* (JsonConfigurationProvider for 'appsettings.json' (Optional))
applicationName=temp (Microsoft.Extensions.Configuration.ChainedConfigurationProvider)
ASPNETCORE_ENVIRONMENT=Development (EnvironmentVariablesConfigurationProvider)
ASPNETCORE_URLS=https://localhost:5001;http://localhost:5000 (EnvironmentVariablesConfigurationProvider)
Logging:
LogLevel:
Default=Information (JsonConfigurationProvider for 'appsettings.json' (Optional))
MySecretValue=TOPSECRET (JsonConfigurationProvider for 'secrets.json' (Optional))
…

Некоторые особенности вывода:
1. Параметры конфигурации выдаются в алфавитном порядке ключей.
2. Формат строки:
Ключ=значение (источник значения)
Например:
- Ключ AllowedHosts имеет значение * и предоставлен из файла appsettings.json провайдером JsonConfigurationProvider.
- Ключ MySecretValue имеет значение TOPSECRET и предоставлен из файла пользовательских секретов secrets.json.
3. Строка отформатирована по разделам, что видно по ключу Logging, содержащему раздел LogLevel, в котором находится ключ Default.
4. Прочие провайдеры конфигурации:
- ChainedConfigurationProvider – первоначальные значения конфигурации, задаются хостом,
- EnvironmentVariablesConfigurationProvider – переменные среды,
- CommandLineConfigurationProvider – параметры командной строки.

Заметьте, что значения одного провайдера могут переписывать значения другого (например, значения из appsettings.json заменяются значениями из секретных данных или переменных среды). В выводе GetDebugView() будет присутствовать только конечное значение.

Применение
Информация, предоставляемая GetDebugView(), может быть очень полезной, когда вам нужно отладить проблему конфигурации в вашем приложении. Возможность точно увидеть, откуда берется значение конфигурации, крайне важно, когда что-то работает не так, как вы ожидаете.

Один из очевидных подходов - предоставить конечную точку в приложении ASP.NET Core, где вы можете запросить это представление. В следующем примере использован метод MapGet для предоставления простой конечной точки:
app.UseEndpoints(endpoints => {
if(env.IsDevelopment()) {
endpoints.MapGet("/debug-config", ctx => {
var config =
(Configuration as IConfigurationRoot)
.GetDebugView();
return ctx.Response.WriteAsync(config);
});
}
});

Источник: https://andrewlock.net/debugging-configuration-values-in-aspnetcore/
More from @netdeveloperdiary
  1. Oct 18, 2026День 2818. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  2. Oct 17, 2026День 2817. #ЧтоНовенького #VS Прекращаем Сборку После Первой Ошибки Мэдс Кристенсен продол…
  3. Oct 16, 2026День 2816. #Карьера #AI Станет ли ИИ-Кодинг Концом Программирования для Людей? Автор ориги…
  4. Oct 15, 2026Post #3374
  5. Oct 14, 2026Post #3373
  6. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 Почему существует…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →