我一直在阅读很多关于 Blazor 和不同托管模型的文章(实际上是 3 篇)。最容易理解的是纯客户端模型,它是一个在 webassembly 上运行的独立应用程序。那里没问题。但我仍然难以理解服务器模型和使用 ASP.NET Core Hosted(复选框)模型的 WebAssembly 模型之间的区别。
请帮我澄清一些事情。
1) 对于服务器模型,浏览器使用 signalR 连接到服务器应用程序。它是 Visual Studio 中的一个应用程序。ASP.NET Core Hosted 模型将单个应用程序拆分为两个单独的应用程序客户端和服务器是否正确理解。客户端是一个 WebAssembly 应用程序,它仍然使用 SignalR 与服务器应用程序通信以获取事件和获取数据?
2)在客户端和服务器应用程序之间,我看不到它们有任何关系或类引用,除了服务器应用程序引用客户端应用程序。我可以删除客户端应用程序引用,它仍然可以编译。但是,该站点是空的。那么服务器应用程序如何知道从客户端应用程序加载内容的位置呢?仅仅是因为引用了客户端应用程序吗?“挂钩”在哪里?我问这个的另一个原因是我已经开始开发一个使用服务器模型的网站,但是现在如果我想使用 ASP.NET Core Host 更改为客户端模型,我该怎么做?
3) 在服务器应用程序中,有 _Layout.cshtml 文件。在客户端应用程序中,wwwroot 下有 index.html。它是被渲染的 index.html。那么 _Layout.cshtml 是干什么用的呢?
4)我从示例 VS 模板中看到,Server 应用程序用作 API 服务(天气预报)。在我的环境中,我已经有一个可以使用的专用 API 服务。那么我将服务器应用程序用于什么?托管客户端应用程序是否只是一个空的 .NET 核心应用程序?除了 API 调用之外,您如何使用服务器应用程序?