【问题标题】:Blazor (WASM) and Web Api separate Project DebuggingBlazor (WASM) 和 Web Api 分离项目调试
【发布时间】:2021-07-07 13:40:21
【问题描述】:

我在调试 Blazor Web 程序集项目时遇到问题。

设置:

  • WASM Blazor UI 项目
  • 引用 WASM 项目的 Web API 项目
  • 它们都共享同一个端口。
  • 我只启动 Web API 项目并且还可以访问 blazor 站点。 (这对我来说很奇怪)

我的 Web Api 项目中有这两行。

app.UseWebAssemblyDebugging();

app.UseEndpoints(endpoints =>
        {
            endpoints.MapRazorPages();
            endpoints.MapControllers();
            endpoints.MapFallbackToFile("index.html");
        });

启动设置 Web API:

 "API": {
      "commandName": "Project",
      "dotnetRunMessages": "true",
      "launchBrowser": true,
      "launchUrl": "",
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }

启动设置 Blazor WASM:

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

当我尝试在我的 Blazor 项目中的某处放置断点时。我收到这条消息:

“当前不会命中断点。没有为此文档加载任何符号。”

如果我单独运行 Blazor 项目但我无法访问我的 Web API,我不会收到此消息。

在能够调试 WASM 项目的同时,为 Web API 和 Blazor WASM 共享相同端口的正确方法是什么??

ps:如果这有帮助,我正在使用 VS Studio 16.9.3。

非常感谢您的帮助!

【问题讨论】:

    标签: asp.net-core blazor blazor-webassembly


    【解决方案1】:

    我假设:

    1. 您在 AspNetCore 而不是 IIS 中运行项目。
    2. 您将 API Server 项目作为您的启动项目。
    3. 您处于调试模式。
    4. 您的设置就像托管在 ASPNetCore 模板上的 Web 程序集。

    您唯一需要inspectUri 的地方是在 LaunchSettings.json 中的 API 项目中,这是您没有的地方。

    在调试模式下启动时可能会很慢,所以请给它时间。

    【讨论】:

    • 非常感谢!那成功了。我很难理解 API 项目和 WASM 项目之间的链接是如何完成的,这对我来说似乎有点神奇。我确定它使用的是 WASM 项目中的 LaunchSettings。
    • 如果你想了解一些关于这个主题的背景知识,有一篇我写的在线文章 - Blazor AllInOne - 展示了如何构建一个解决方案,从同一个站点运行服务器和 WASM 上下文以及对正在发生的事情的解释。搜索 blazor allinone,您会在几个地方找到它。
    猜你喜欢
    • 2021-11-06
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 2023-01-16
    • 2021-02-05
    • 2021-03-07
    • 1970-01-01
    • 2021-08-12
    相关资源
    最近更新 更多