【发布时间】:2022-01-16 17:08:56
【问题描述】:
在 Visual Studio 2022 中创建新的 Blazor WebAssembly 应用时,有一个“ASP.NET Core 托管”选项(带有无用的工具提示)。
如果在解决方案中勾选此项而不是 1 个 WASM 项目,则有 3 个,客户端 (WASM)、共享和服务器。
虽然 Blazor Server 应用是启动项目,但它没有页面。当您运行它时,它会调用 WASM Blazor 客户端应用程序。
我无法解释这样做的目的是什么?如果我将 WASM 应用程序部署到 IIS 服务器,它在没有服务器应用程序的情况下运行良好。
注意,我不是在问 Blazor 服务器(在服务器上运行的服务器端代码,将 HTML 发送到客户端)和 Blazor 客户端 WASM(编译成在浏览器中运行的 WebAssembly 的 C# 代码)之间的区别。这个我知道。
如果您打算创建 WASM 应用程序,我想问为什么您需要在带有 Blazor WASM 应用程序的解决方案中使用 Blazor Server 应用程序。
我找不到直接的答案。要么这篇文章没有回答它 - 要么我错过了一些东西: What's the difference between ASP.NET Core Hosted and Server-Side Blazor, really?
我找不到其他任何东西。
那么 Blazor Server 应用程序的用途是什么,为什么它首先运行然后调用 WASM 应用程序。另外,您将如何主持?
谢谢。
更新
我知道 WASM 应用程序只是客户端,你需要一个 Web API 项目来连接,以便从 Web 服务器中提取数据。
这个“.net Core Hosted”模板是否正在做一些我自己无法通过使用 WASM 项目创建解决方案 - 然后添加 Web API 项目(和各种共享项目)的事情?
【问题讨论】:
-
拥有一台服务器可以简化提供 API 的控制器和集线器。
-
“Blazor Server 应用程序没有页面”:当您使用 MS Identity 登录时它会出现。使用 razor 页面。
标签: blazor blazor-server-side blazor-webassembly