Блазор с стартером API! ? (.Net 7)?
Это стартовый проект / шаблон, который состоит из фронта Blazor и основного бэкэнда ASP.NET. Приложение Blazor в этом шаблоне обслуживается с основного сервера ASP.NET.
При запуске этого решения, пожалуйста, установите проект Server в качестве проекта запуска, если вы запускаете его в Visual Studio или если запустите это через код VS, пожалуйста, CD в папку проекта сервера и запустите dotnet run в вашем CMD/PowerShell/Terminal по выбору
КСТАТИ! Почувствуйте себя абсолютно свободным, чтобы разжечь/клонировать это репо и ремикс, чтобы создать свой собственный стартер ❤, например, как заменять ядро EF на Dapper или любую другую библиотеку доступа к данным или библиотеку доступа к данным.
Что вам нужно для запуска этого стартового проекта?
- Net 7 SDK (https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
- VS Code или Visual Studio 2022 (текущий последний, не стесняйтесь использовать предварительный просмотр, однако я только проверил это на текущем)
- Должен иметь возможность запустить в Windows/Mac/Linux (я не протестировал это, просто запустив способность .NET 7 быть межплатформой), если нет, пожалуйста, дайте мне знать, так как может быть настройка или глупая конфигурация, которую я не хватает.
С первого взгляда этот проект содержит:
- Blazor Client (содержащий кусочки проекта Blazor по умолчанию за вычетом битов Weatherapi)
- ASP.NET CORE SERVER (API)
- Общий проект (для совместного использования кода и услуг между фронтом и бэкэнд)
- Тестируйте проекты клиент, сервер и общий
Так что настроено?
- Все проекты нацелены на .net 7
- Все тестовые проекты настроены на использование XUNIT и содержат MOQ для насмешливых зависимостей.
- Проект тестирования Blazor имеет разгибание для тестирования страниц и компонентов
- Проект тестирования сервера содержит приспособление, которое создает базу данных Core 7 Entity Framework в памяти (см. Пример в файле теста сервера InmemoryDbtests.cs), это позволит вам проверить без использования физического DB!
- Клиентский проект имеет пример напечатанного HTTP-клиента для вызова на сервер, который может быть введен в ваши компоненты и страницы.
- Серверный проект имеет примеры:
- Контроллер
- Услуга
- Промежуточное программное обеспечение
- DBContext (EF Core 7), который привязан к SQLite DB, называемый example.db (это, чтобы работать из коробки, не стесняйтесь отвечать на любой, который поддерживает EF-Core!)
- Использование Automapper
Технологии / LIBS включены с первого взгляда.
- Entity Framework Core 7
- Могил
- Automapper
- Fluentvalidation & Blazored.fluentvalidation (что настолько хорошо, что я даже внесла свой вклад: D, FluentValidation - это мое предпочтение заменять стандартную систему.
- Убивать
- XUNIT
- System.text.json
- Microsoft.extensions.http (для настройки httpclient и httpmessagehandler в ihttpclientFactory, для меня это предоставляет метод NICE Services.AddhttpClient для добавления httpclients в DI, я использую в стартапе клиента/программа.