Как добавить веб-API ASP.NET в решение, созданное по умолчанию для SERVER ASP.NET Blazor по умолчанию

Как лучше всего добавить веб-API в качестве проекта к решению ASP.NET Blazor по умолчанию? При использовании Visual Studio 2019 вы больше не получаете сервер и веб-проекты, когда выбираете сервер Blazor при создании нового решения / проекта.

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

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

Вот что я собираюсь попробовать:

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

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

используя Microsoft.AspNetCore.Mvc;

services.AddMvc(options => options.EnableEndpointRouting = false).SetCompatibilityVersion(CompatibilityVersion.Version_3_0);

app.UseMvcWithDefaultRoute();

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

Серверный Blazor, созданный мастером VS 2019:

Созданное решение выглядит так:

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

Другие вопросы по тегам