В Blazor содержится ряд встроенных компонентов, содержащих необходимые параметры и события для работы с формами. Эти компоненты основаны на стандартных html-элементах, таких как <input> и делают работу с формами более удобной и комфортной для разработчиков.
Blazor Hybrid
ISecureStorage — хранение настроек приложения в защищенном хранилище
В наших приложениях могут использоваться данные, которые требуют особой безопасности при их хранении. Например, это могут быть логины и пароли для входа в приложение, токены доступа, пароли от баз данных и так далее. Для этих целей в Blazor Hybrid мы можем использовать интерфейс ISecureStorage, который предоставляет нам API для работы с защищенным хранилищем устройства.
IPreferences — хранение настроек приложения в хранилище ключей и значений устройства
Интерфейс IConfiguration для конфигурации приложения применяется во всех типах приложений ASP.NET Core и, в частности, в приложениях Blazor. Однако, это не единственный способ хранения настроек приложения для Blazor Hybrid. В Blazor Hybrid возможно также обеспечить хранение настроек приложения в хранилище ключей и значений устройства. Для этого мы можем использовать реализации интерфейсов IPreferences или ISecure, содержащиеся в пространстве имен Microsoft.. В этой части мы рассмотрим использование IPreferences
Проекция конфигурации на классы
Как мы уже знаем, при использование JSON-файлов для конфигурации приложения Blazor Hybrid мы можем удобно распределять необходимые настройки приложения по отдельным секциям. Однако, каждый раз считывать секцию, искать в секции необходимую настройку бывает не совсем удобно. Для таких случаев, используя методы расширения IConfiguration, мы можем спроецировать необходимые настройки на обычные классы .NET
Использование JSON-файлов для конфигурации приложения Blazor Hybrid
Использование JSON-файлов для конфигурации приложения — это один из наиболее распространенных способов хранения настроек приложения Blazor.
Конфигурация приложения
Под конфигурацией приложения обычно понимаются какие-либо настройки, применяемые, при запуске приложения. Это могут быть такие настройки, как строки подключения к базам данных, настройки оформления приложения, включение дополнительных опций и т. д. В Blazor Hybrid конфигурация приложения может осуществляться несколькими способами.
Вызов кода платформы в сервисах Blazor Hybrid
Blazor Hybrid — это, прежде всего, фреймворк для создания кроссплатформенных приложений. Поэтому не исключены ситуации, когда разрабатываемый вами сервис должен использоваться на всех платформах, но использовать особенности каждой из платформ. В этом случае нам придется каким-либо образом обеспечить вызов кода конкретной платформы.
Множественная регистрация сервисов в Blazor Hybrid
В подавляющем большинстве случаев, приложения, использующие внедрение зависимостей строятся по принципу «один сервис — одна используемая реализация сервиса». При необходимости, мы создаем другую реализацию сервиса (например, при обновлении приложения) и регистрируем эту реализацию в приложении. Однако, может возникнуть ситуация, когда нам потребуется на один сервис зарегистрировать несколько реализаций. Например, вы решите написать приложение для подсчета количества рабочих дней по пяти- и шестидневной рабочей неделе. В этом случае у вас будет один сервис (рабочий календарь) и две его реализации — для пятидневной рабочей недели и шестидневной. В этом случае вам пригодится множественная регистрация сервисов.
Жизненный цикл зависимостей в Blazor Hybrid
В .NET зависимости могут иметь различные жизненные циклы (всего выделяют три цикла) от которых зависит поведение сервиса. В этой части мы рассмотрим каким образом мы можем регистрировать свои сервисы в приложении и как жизненный цикл влияет на работу сервиса.
Способы получения зависимостей в Blazor Hybrid
В предыдущей части мы познакомились с одним из способов получения зависимостей — с использованием директивы Razor @inject. Способы получения зависимостей в Blazor Hybrid не ограничиваются только этой директивой и в этой части мы рассмотрим другие варианты.