【问题标题】:Integrate Blazor into .NET Core ASP.NET MVC app将 Blazor 集成到 .NET Core ASP.NET MVC 应用程序中
【发布时间】:2020-02-24 19:32:00
【问题描述】:

我使用 .NET Core 3.0 构建了一个 ASP.NET MVC Core 应用程序。此应用是从 ASP.NET Core 2.2 迁移而来的。在这一点上它相当复杂。但是,有一种观点我想让“更富有”。所以,我希望使用 Blazor(服务器应用程序)。

我首先将 Blazor 服务器应用程序添加到我现有的解决方案中。我的解决方案设置如下所示:

MySolution
- MyBlazorApp
- MyMvcApp

我添加了从MyMvcAppMyBlazorApp 的引用。但是,我不确定如何在我现有的MyMvcApp 视图中实际显示 Blazor 应用程序。我基本上希望MyBlazorApp 嵌套在我现有的MyMvcApp 的视图中。有点像小部件。有没有办法做到这一点?如果有,怎么做?

谢谢!

【问题讨论】:

  • @NanYu 虽然我并不需要,但我确实想要那种分离。有没有办法让项目分开?
  • 就现有的 MVC 应用程序而言,Blazor 应用程序只是在特定 URL 上呈现特定页面的东西(而该页面恰好是 Blazor SPA)。这意味着您可以像在页面中显示任何第三方内容一样执行此操作。如果您想要比这更深入的集成,那么 Blazor 的东西可能需要真正成为您应用程序的一部分。
  • 如果您想将 Blazor 从您的 MVC 应用程序中分离出来,那么您将创建一个 Blazor 库。但是您需要做的是将 Blazor 组件集成到您的项目中。除了@NanYu 提到的链接外,微软还有关于集成 Blazor 组件的官方文档。我确实成功了:docs.microsoft.com/en-us/aspnet/core/blazor/…
  • 你@SomeUser 已经回答了这个问题了吗?我怀疑您确实需要一个嵌入在 MVC 剃须刀页面中的 Web 程序集组件。如果是 si,这很容易做到。

标签: asp.net asp.net-core blazor-server-side


【解决方案1】:

如果您想为 .Net Core 3.0 使用服务器端 Blazor,请使用以下步骤:

在您的 Web 应用程序中集成服务器端 Blazor:

  1. 修改Startup.cs文件中的ConfigureServices方法,添加如下代码:

    services.AddServerSideBlazor();

    这将启用服务器端 blazor 依赖项。

  2. 使用 Blazor 扩展 HTTP 管道:

    // 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 应用程序中并不需要太多

【讨论】:

    【解决方案2】:

    您必须从下面提到的 Visual Studio 安装扩展程序

    asp.net core blazor 语言服务

    【讨论】:

    • 除了集成 NuGet 包之外,还有更多工作要做。项目需要支持 blazor,例如将其添加到请求管道中
    • @DanielSchmid 他正在尝试将 Blazor 与 .Net core Asp.net MVC 集成(未指定 .net core 的版本)。如果他使用的是 .net core 3.0,那么只需到这里marketplace.visualstudio.com/items?itemName=aspnet.blazor,下载并安装。
    猜你喜欢
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2019-12-28
    • 1970-01-01
    • 2021-04-11
    • 2020-04-26
    相关资源
    最近更新 更多