我正在尝试blazor.Net,这是一个实验性的框架。
我已经在这个框架中开发了一个小项目,它很棒。
但是在11月14日Blazor语言服务的最近更新之后,我在模板选择上看到了两个选择。

首先是Blazor (ASP.NET核心托管)
第二个是Blazor ( ASP.NET核心中的服务器端)
没有关于它们之间区别的信息,
谁能告诉我这两个模板之间有什么区别,什么时候应该选择哪一个?
发布于 2018-11-16 13:50:25
在服务器端托管模型中,Blazor在服务器上从ASP.NET核心应用程序中执行。通过SignalR连接处理UI更新、事件处理和JavaScript调用。
在客户端模型中,Blazor应用程序、它的依赖项和.NET运行时被下载到浏览器,并且应用程序直接在浏览器UI线程上执行。所有UI更新和事件处理都发生在同一进程中。
利弊- read more here。
服务器端模型被认为首先发布风险较小,所以我们将首先在asp.net 3.0中看到它。客户端稍后会出现。
警告:在我们得到支持的版本之前,不要在生产代码中使用。
发布于 2019-08-11 01:34:46
我认为被接受的答案没有回答像Mike-EEE在其中一条评论中提到的问题。
必要的信息可在以下链接中找到:https://www.telerik.com/blogs/a-breakdown-of-blazor-project-types
Blazor Full-Stack模板包含与客户端模板相同的项目结构,但增加了一些内容。就像客户端模板一样,服务器不会呈现超文本标记语言,所有文件都作为静态文件传递给客户端,包括.NET二进制文件。然而,不同之处在于增加了ASP.NET核心托管和Web,以及用于通用应用程序逻辑的共享项目。
该模板包括三个项目:客户端Blazor应用程序Blazor.Client、ASP.NET核心服务器应用程序Blazor.Server和通用应用程序逻辑.NET的shared Blazor.Shared标准项目。
的Blazor服务器端项目模板采用了一种显着不同的方法来交付Blazor应用程序并与浏览器进行交互。在使用服务器端配置时,Blazor通过将SignalR JavaScript应用程序部署到客户端,将浏览器用作“瘦客户端”。在服务器上,Blazor实现了一个通过web套接字与客户端进行通信的SignalR集线器。在服务器端托管模型中,Blazor在服务器上从ASP.NET核心应用程序中执行。通过SignalR连接处理UI更新、事件处理和JavaScript调用。在此配置中,不需要WebAssembly,Blazor在服务器的ASP.NET核心运行时上执行。所有UI更新都以diffs的形式发送,通过web套接字以二进制数据包的形式双向发送。对于用户来说,该应用程序无法与任何其他web应用程序区分开来。
发布于 2020-03-05 03:19:27
更新
从.Net core 3.0开始,Blazor提供了2种托管模式
https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models?view=aspnetcore-3.1
Blazor WebAssembly应用程序
Blazor的主体托管模型在WebAssembly上的浏览器中运行客户端。Blazor应用程序、其依赖项和.NET运行时被下载到浏览器。应用程序直接在浏览器UI线程上执行。UI更新和事件处理发生在同一进程中。应用程序的资产作为静态文件部署到web服务器或能够向客户端提供静态内容的服务。

Blazor服务器应用程序
使用Blazor服务器托管模型,应用程序从ASP.NET核心应用程序中在服务器上执行。通过SignalR连接处理UI更新、事件处理和JavaScript调用。

注意: ASP.NET核心3.0支持Blazor服务器,并且Blazor WebAssembly是在微软构建2020期间从.NET核心3.1.4正式发布的
Blazor WebAssembly 3.2.0 now available
下面的article很容易解释这一点:
Blazor客户端:(模板选择中的第一个模板):
在这种托管模式中,应用程序是在浏览器中的客户端执行的。Blazor应用程序、它的依赖项和.NET运行时被下载到浏览器。应用程序直接在浏览器UI线程上执行。UI更新和事件处理发生在同一进程中。此执行模式在.Net核心的预览版中可用。

由于整个应用程序驻留在浏览器中,因此DOM更新将在浏览器itself.
ASP.NET核心托管(模板选择中的第二个Blazor模板)
在此托管模式中,应用程序从ASP.NET核心应用程序中在服务器上执行。通过SignalR连接处理UI更新、事件处理和JavaScript调用。

服务器端(模板选择中的第三个Blazor模板)在此托管模式中,整个应用程序将驻留在ASP.NET核心服务器中,并且将从浏览器向服务器发出各种操作的请求。由于这不会向浏览器发送任何形式的动态链接库,因此它受到IE11等传统浏览器的支持。

https://stackoverflow.com/questions/53332097
复制相似问题