在 Web API 项目中托管 Blazor 服务器

问题描述 投票:0回答:1

我有一个 Web API 项目和一个 Blazor Wasm 项目,我想使用相同的端口从该 Web API 项目托管它们。但我无法让它发挥作用。 当我启动 Web api 项目时,它会旋转,但 blazor 应用程序不会。 我已经配置了启动设置,确保端口匹配,但我无法使其工作。我考虑过从 wasm 托管模型更改为服务器托管模型。 如果您需要更多信息,请告诉我。

在 Web APi 项目中启动设置:

"DEV": {
  "commandName": "Project",
  "dotnetRunMessages": true,
  "launchBrowser": true,
  "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
  "launchUrl": "http://localhost:5001",
  "applicationUrl": "http://localhost:5001",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }

Blazor 项目中的启动设置

      {
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:5001",
      "sslPort": 0
    }
  },
  "profiles": {
    "BlazorServerClient": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "http://localhost:5001",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

这是我尝试使用 Blazor Server 时的情况,但启动设置在我的 wasm 项目中是相同的

如果有其他(更好)的选择,我愿意接受建议,目标是使用同一端口从一个点托管 api 和 blazor 应用程序。

asp.net-core asp.net-web-api blazor blazor-server-side blazor-webassembly
1个回答
0
投票

这是一个示例。

1.将您的 WebAssembly 应用程序发布到文件夹。

2.找到您发布的文件,即

BlazorApp3\bin\Release\net7.0\browser-wasm\publish
,然后复制wwwroot文件。将 WebApi 应用程序中的 wwwroot 文件(如果不存在,请创建一个)替换为发布中的 wwwroot 。

3.下载nudget包

Microsoft.AspNetCore.Components.WebAssembly.Server
并放入您的WebApi程序.cs中:

...
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.UseStaticFiles();
app.UseBlazorFrameworkFiles();                     
app.UseRouting();
app.MapFallbackToFile("index.html");
app.Run();

4.请勿在两个应用程序的launchSettings.json中设置在同一端口上运行。

5.启动WebApi应用程序,当您运行到根url时,Blazor将启动,您可以看到

© www.soinside.com 2019 - 2024. All rights reserved.