Модель — это набор классов, представляющих данные, которыми управляет приложение. В этой части мы познакомимся с тем, как устроена работа с моделями в ASP.NET Core – как приложение ASP.NET Core производит анализ запроса от клиента API, как можно передавать различные данные в контроллер и производить валидацию модели.
ASP.NET Core Web API
Создание собственного провайдера ведения журнала
Как и в случае с конфигурацией приложения и, в принципе, со всеми другими частями ASP.NET Core, предложенных по умолчанию возможностей для ведения журнала вполне достаточно, чтобы покрыть максимум потребностей разработчиков. При этом ASP.NET Core позволяет, при необходимости, создать свой собственный провайдер логирования и вести журнал в том формате и том виде, который необходим именно вам.
Фильтры логов
Более продвинутый способ программной настройки ведения журналов в приложении является использование фильтрации. Функция фильтрации вызывается для всех поставщиков и категорий, которым не назначены правила конфигурацией или кодом.
Провайдеры ведения журнала в ASP.NET Core
Далеко не всегда нам необходимо, чтобы приложение отправляло логи своей работы в множество мест. Вполне возможно, что вам будет достаточно вести журнал, например, только в консоли или только в окно отладки. В ASP.NET Core мы можем настроить необходимые нас провайдеры логирования.
Конфигурация ведения журналов в ASP.NET Core
Конфигурация ведения журналов в ASP.NET Core, обычно, указывается в JSON-файлах, таких как appsettings.json и appsettings.Development.json.
Общие сведения о ведении журналов в ASP.NET Core. Интерфейсы ILogger и ILogger
Логирование (ведение журналов, журналирование) — это процесс записи наиболее значимой информации о работе системы с возможностью быстрого доступа к этой информацией в случае необходимости.
Создание собственного провайдера конфигурации и его использование
Имеющихся провайдеров конфигурации в ASP.NET Core вполне достаточно, чтобы покрыть максимум потребностей разработчиков. При этом, возможны ситуации, когда готовых провайдеров может не хватить. Например, нам может потребоваться получать конфигурацию из файла совершенно уникального формата или, наоборот, создать свой уникальный формат хранения конфигурации.
Проекция конфигурации на классы
При использовании разветвленной конфигурации приложения, например, в json-файлах с множеством параметров и секций бывает не всегда удобно использовать последовательный доступ к каждой настройке, используя индексатор IConfiguration. В ASP.NET Core может использоваться проекция конфигурации на классы C#, чтобы представить сложную иерархическую структуру конфигурации приложения в виде обычного объекта. Для этого мы можем использовать методы Get<T>() и Bind().
Секреты пользователей
Ещё один способ конфигурации приложения ASP.NET Core – использование секретов пользователя. Под термином «секрет пользователя» понимаются любые конфиденциальные данные. Например, когда мы разрабатываем приложение, то нам может потребоваться логины и пароли пользователей базы данных, наделенных различными правами, пароли и ключи доступа к сторонним API и так далее – это всё относится к секретам пользователя.
Нефайловые провайдеры конфигурации
Нефайловые провайдеры конфигурации в ASP.NET Core представлены следующими классами:
MemoryConfigurationProvider– использует коллекцию в памяти в качестве настроек приложенияCommandLineConfigurationProvider– загружает конфигурацию из аргументов командной строкиEnvironmentVariablesConfigurationProvider– загружает настройки приложения из переменных среды.