Как вы добавляете ASP.NET веб-API для СЕРВЕРА по умолчанию ASP.NET Решение, созданное Blazor По Умолчанию

#asp.net-mvc #asp.net-web-api #blazor #blazor-server-side #syncfusion-blazor-sfgrid

Вопрос:

Каков наилучший подход для добавления веб-api в качестве проекта по умолчанию ASP.NET Решение Блейзора? При использовании visual studio 2019 вы больше не получаете сервер и веб-проекты, когда выбираете сервер Blazor при создании нового решения/проекта.

Я нашел способ просматривать серверные блоги, но было упомянуто, что Microsoft может прекратить это.

Ищу лучший способ.
Причина, по которой мне нужно добавить API в ASP.NET Побочный проект Blazor предназначен для того, чтобы к нему можно было привязать сетку данных SyncFusion. См.: https://blazor.syncfusion.com/documentation/datagrid/data-binding/#entity-framework

Вот что я думаю о том, чтобы попробовать:

Используйте «опции.Подход «EnableEndpointRouting».

  • Шаг 1. Создайте папку API
  • Шаг 2: Щелкните правой кнопкой мыши/Добавить новый/ Контроллер/Шаг Веб-API
  • Измените файл Startup.cs с помощью:

с помощью Microsoft.AspNetCore.Mvc;

Услуги.AddMvc(параметры => параметры.EnableEndpointRouting = ложь).SetCompatibilityVersion(Совместимость.Версия_3_0);

приложение.UseMvcWithDefaultRoute();

Считается ли это безопасным или поддерживаемым способом сделать это в будущем?

Блейзор На Стороне Сервера, Созданный Мастером VS 2019:

введите описание изображения здесь

Сгенерированное решение выглядит следующим образом: введите описание изображения здесь

Комментарии:

1. Для начала, в .net5 или VS2019 ничего не изменилось, у вас все те же шаблоны. И ничего не объявляется прекращенным.

2. И мне трудно решить, что «по умолчанию ASP.NET Решение Blazor» — это именно так. Вы говорите о серверной части Blazor или о серверной части, размещенной на Blazor Wasm?

3. Поскольку вы отметили это blazor-server-side , мне любопытно, каким будет клиент API?

4. @BrianParker : Клиент api на самом деле представляет собой сетку данных SyncFusion в рамках одного и того же проекта blazor на стороне сервера. Основываясь на их документации, они рекомендуют «Привязать» веб-api к элементу управления со всеми действиями CRUD. Для этой части моего проекта blazor на стороне сервера я не могу напрямую привязаться к списку, заполненному Entity Framework. На самом деле я пытался избежать написания уровня api при выборе серверного проекта blazor, и именно это делает его интересным.

5. @HenkHolterman: Я говорю только о стороне сервера Blazor. Посмотрите, что я только что написал Брайанпаркеру выше. Я решил не делать веб-сборку специально, чтобы мне не пришлось писать уровень api… Затем я обнаружил, что не могу напрямую привязаться к Entity Framework без уровня веб-API для сетки данных Sync Fusion.

Ответ №1:

Я связался со службой поддержки Syncfusion, и они предоставили пример использования своей таблицы данных для пропуска API.

Пример по ссылке ниже фактически содержит вызовы Entity Framework прямо в коде страницы Blazor. Я реализовал с помощью службы, обернутой в Entity Framework.

Отлично работает. Также использовал тот же подход с Dapper.

https://www.syncfusion.com/forums/165744/how-to-add-a-supporting-web-api-and-routing-to-support-databinding-in-sf-grid-on-blazor

введите описание изображения здесь