首页 > 解决方案 > Blazor,ASP.NET Core 托管与 ASP.NET Core 中的服务器端

问题描述

我正在尝试使用 blazor.Net,这是一个实验性框架。

我已经在这个框架中开发了一个小项目,它很棒。

但在 11 月 14 日 Blazor 语言服务最近更新后,我在模板选择中看到了两个选项。

在此处输入图像描述

首先是 Blazor(托管 ASP.NET Core)

其次是 Blazor(ASP.NET Core 中的服务器端)

没有关于它们之间区别的信息,

谁能告诉我这两个模板有什么区别,什么时候应该选择哪一个?

标签: c#.net-core-2.1blazor

解决方案


我认为接受的答案并没有像其中一条评论中提到的 Mike-EEE 那样回答提出的问题。

可以在此链接下找到必要的信息: https ://www.telerik.com/blogs/a-breakdown-of-blazor-project-types

Blazor 全栈模板包含与客户端模板相同的项目结构,并添加了一些内容。就像客户端模板一样,服务器没有呈现 HTML,所有文件都作为静态文件传递给客户端,包括 .NET 二进制文件。然而,不同之处在于添加了 ASP.NET Core 托管和 Web API 以及用于通用应用程序逻辑的共享项目。

该模板包括三个项目:客户端 Blazor 应用程序 Blazor.Client、ASP.NET Core 服务器应用程序 Blazor.Server 和用于通用应用程序逻辑 Blazor.Shared 的共享 .NET Standard 项目。

Blazor 服务器端项目模板对 Blazor 应用程序的交付方式和与浏览器的交互方式采用了截然不同的方法。使用服务器端配置时,Blazor 通过将 SignalR JavaScript 应用程序部署到客户端,将浏览器用作“瘦客户端”。在服务器上,Blazor 实现了一个 SignalR 集线器,通过 Web 套接字与客户端通信。在服务器端托管模型中,Blazor 在服务器上从 ASP.NET Core 应用程序中执行。UI 更新、事件处理和 JavaScript 调用通过 SignalR 连接进行处理。在此配置中,不需要 WebAssembly,并且 Blazor 在服务器的 ASP.NET Core 运行时上执行。所有 UI 更新都作为差异发送,作为二进制数据包通过 Web 套接字双向发送。对用户来说,


推荐阅读