HTTP-запросы представляют собой независимые сообщения, которые не сохраняют пользовательских значений. Это означает, что как только запрос обработан, то все данные запроса (состояние) удаляются. Вместе с этим, компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера). В ASP.NET Core мы можем сохранять данные запроса различными способами. И сегодня мы рассмотрим один из наиболее простых вариантов сохранения данных запроса — использование свойства HttpContext.Items.
ASP.NET Core
Основы логирования в ASP.NET Core. Создание собственного провайдера логирования
Несмотря на то, что ASP.NET Core предоставляет самые широкие возможности логирования событий в приложении, все же может потребоваться каким-либо доработать предложенную систему и разработать собственный провайдер логирования ASP.NET Core.
Основы логирования в ASP.NET Core. Фильтрация логов и идентификаторы событий
В предыдущей части мы рассмотрели предпочтительный способ конфигурации системы логирования в ASP.NET Core — с использованием конфигурации. При этом, мы можем также настраивать систему логирования с использованием фильтров непосредственно в исходном коде приложения.
Основы логирования в ASP.NET Core. Провайдеры и конфигурация логгирования
В предыдущей части мы, в общих чертах, познакомились с логированием в ASP.NET Core и закончили наше знакомство на выводе логов определенных уровней. Сегодня разберемся ещё с двумя моментами, а именно — доступными по умолчанию провайдерами и конфигурацией логирования.
Основы логирования в ASP.NET Core. Интерфейс ILogger
Логирование (ведение логов, журналирование) — это процесс записи наиболее значимой информации о работе системы с возможностью быстрого доступа к этой информацией в случае необходимости. В случае необходимости лог может подсказать нам в какой чисти системы возникла проблема или же деть информацию о конфигурации, действиях пользователя и так далее.
ASP.NET Core имеет встроенную поддержку логирования, что позволяет нам с минимальными издержками вести логи, в большинстве случаев, без создания своих сервисов. Для логирования данных в ASP.NET Core используются объекты, реализующие интерфейс ILogger<T>.
Конфигурация в ASP.NET Core. Создание собственного провайдера конфигурации ASP.NET Core
По умолчанию ASP.NET Core предоставляет довольно большой перечень поставщиков конфигурации приложения — для работы с аргументами командной строки, переменными среды, файлами json, xml, ini и т.д. Этого перечня вполне достаточно, чтобы покрыть максимум потребностей разработчиков. Однако, можно столкнуться с ситуацией, когда и этого богатого функционала будет недостаточно для работы и потребуется какое-то нестандартное решение для получения конфигурации.
Конфигурация в ASP.NET Core. Проекция конфигурации на классы C#
Когда мы работаем с файловыми провайдерами конфигурации, то настройки в таких файлах могут иметь достаточно разветвленную структуру. В результате, читать такие настройки по одной становится крайне неудобно. Платформа ASP.NET Core позволяет проецировать конфигурационные настройки на классы C#.
Конфигурация в ASP.NET Core. Файловые провайдеры конфигурации. Файл JSON, XML и Ini
По умолчанию, в ASP.NET Core используется конфигурация приложения с использованием файлов JSON, однако, при желании, конфигурацию приложения можно определить и в других типах файлов, например, XML или Ini. Сегодня рассмотрим конфигурацию приложения с использованием файловых провайдеров конфигурации.
Конфигурация в ASP.NET Core. Нефайловые провайдеры конфигурации. Переменные среды окружения
Для загрузки переменных среды окружения в качестве параметров конфигурации в ASP.NET Core применяется провайдер EnvironmentVariablesConfigurationProvider. Для его использования у объекта ConfigurationManager вызывается метод AddEnvironmentVariables(). Однако, как и в случае, с аргументами командной строки, среда ASP.NET Core уже загружает переменные среды окружения в объект конфигурации по умолчанию.
Конфигурация в ASP.NET Core. Нефайловые провайдеры конфигурации. Аргументы командной строки
В качестве нефайловых провайдеров конфигурации могут выступать параметры командной строки, объекты .NET и переменные среды окружения ASP.NET Core. Рассмотрим использование аргументов командной строки для конфигурации приложения ASP.NET Core