Перейти к содержанию

Загружаем и отображаем данные с помощью страниц Razor, фоновых задач и gRPC

От меня

Мой код этой главы тут

В этой главе мы создадим полноценное, хоть и простое приложение. Представьте вики, к примеру вики стран, которое будет использовать ASP.NET Core Razor Pages для веб-интерфейса, фоновый сервис с gRPC в качестве API, позволяющий перемещать данные между БД и веб-интерфейсом, SQL Server для хранения данных, и EF Core для доступа к ним.

Архитектура

Наше приложение будет содержать следующие компоненты:

  1. веб-страница (на Razor Pages) для загрузки файла JSON со списком стран;
  2. вторая веб-страница для отображения списка стран и возможностью удаления отмеченных;
  3. третья веб-страница для изменения описания страны;
  4. фоновый сервис, позволяющий передать в БД данные о странах из JSON-файла. Этот этап необходим, так как позволяет избежать блокировки вебсайта в процессе сохранения данных;
  5. Сервис gRPC для управления данными;
  6. SQL Server и EF Core для выполнения запросов к БД и создания базы из кода.

На картинке показана архитектура нашего приложения.
Pasted image 20230428210305.png

Создание приложения ASP.NET Core gRPC

Наше приложение будет состоять из четырёх слоёв (за каждый слой будет отвечать отдельный проект):

  • CountryService.gRPC — проект сервисов gRPC;
  • CountryService.DAL — проект с кодом доступа к данным (DAL, data access layer );
  • CountryService.BLL — проект с бизнес-логикой (BLL, business logic layer);
  • CountryService.Domain — проект с доменными объектами, используемыми по всему приложению

Отношения между слоями отражены на диаграмме:
Pasted image 20230501174102.png
Добавление проекта gRPC описано здесь, что же касается трёх других слоёв — это просто библиотеки классов (class library), и добавляются в решение традиционным образом.

Настраиваем SQL Server и используем EF Core для доступа к данным

Пишем бизнес-логику и сервис Country gRPC

Создаём и разделяем на слои приложение ASP.NET Core Razor

Загружаем файл с данными, отображаем и управляем данными при помощи Razor Pages


Последнее обновление : 17 июня 2023 г.
Дата создания : 17 июня 2023 г.

Комментарии

Комментарии