#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.