Интеграция Blazor в приложение .NET Core ASP.NET MVC - PullRequest
1 голос
/ 29 октября 2019

Я создал приложение ASP.NET MVC Core, используя .NET Core 3.0. Это приложение было перенесено из ASP.NET Core 2.2. Это довольно сложно на данный момент. Однако есть одна точка зрения, которую я хотел бы сделать «богаче». Итак, я надеялся использовать Blazor (серверное приложение).

Я начал с добавления серверного приложения Blazor к своему существующему решению. Моя настройка решения выглядит примерно так:

MySolution
- MyBlazorApp
- MyMvcApp

Я добавил добавленную ссылку от MyMvcApp до MyBlazorApp. Тем не менее, я не уверен, как на самом деле показать приложение Blazor, в моем существующем MyMvcApp. Я просто хочу, чтобы MyBlazorApp вложил в представление в моем существующем MyMvcApp. Вроде как виджет. Есть ли способ сделать это? Если да, то как?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 07 ноября 2019

Вам необходимо установить расширение из Visual Studio, которое упоминается ниже

Базовая языковая служба asp.net * Blazor

0 голосов
/ 07 ноября 2019

, если вы хотите использовать серверную версию Blazor для .Net Core 3.0 , используйте следующий шаг:

Интеграция серверной версии Blazor в ваше веб-приложение:

  1. Измените метод ConfigureServices в файле Startup.cs и добавьте следующий код:

    services.AddServerSideBlazor();

    Включает блейзер на стороне серверазависимости.

  2. Расширение конвейера HTTP с помощью Blazor:

    // enables endpoint routing in ASP.NET Core
    app.UseRouting(); 
    
    //maps the endpoints in the application
    app.UseEndpoints(endpoints =>
    {
     // .. Other endpoint mappings
     endpoints.MapBlazorHub();
    });
    
  3. Создание и размещение там реальных компонентов Blazor

    тамвы идете, это не займет много времени, чтобы интегрировать Blazor в существующие приложения ASP.NET Core

0 голосов
/ 07 ноября 2019

Лично я думаю, что если вы планируете использовать Blazor для замены JavaScript, вы принимаете отличное решение. И если вам нужно создать новый проект Blazor на все времена, Visual Studio 2019 имеет два шаблона проекта для: Server-Side Blazor (SSB), где ваш код C # выполняется на сервере и взаимодействует сбраузер с использованием SignalR;и на стороне клиента Blazor (CSB), где ваш код C # загружается в браузер и выполняется на клиенте.

Но что, если вы хотите использовать Blazor в существующем проекте ASP.NET Core, который использует Controllers + Viewsили бритва страницы? Если вы просто добавите компонент Blazor в существующий проект ASP.NET Core, он не будет работать. В этом столбце я расскажу, как включить поддержку интеграции SSB из Razor Pages и MVC Views. Я также предоставлю некоторые рекомендации о том, как вызывать ваш компонент из вашего представления или страницы.

Будьте осторожны: это тема, детали которой часто менялись. Этот код работает с 7 ноября 2019. Для этого столбца я использовал предварительный просмотр Visual Studio 2019 16.1 и предварительный просмотр NET Core 3.0.0 5. После обновления до этих инструментов, чтобы убедиться, что у меня установлены последние шаблоны проектов, я открыл окно командной строки. и использовал эту команду:

dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview4-19216-03

Вероятно, вы могли бы замкнуть накоротко хотя бы некоторые из этих шагов, используя пакет vsix со страницы предварительного просмотра Blazor по адресу https://github.com/aspnet/Blazor/releases (он спрятан под заголовком «Активы»). ).

Это определенно поможет вам.

...