.net core 理解Blazor托管

.net core 理解Blazor托管,.net-core,client-side,blazor,.net Core,Client Side,Blazor,免责声明 我指的是托管的Blazor,不是服务器端的 当运行浏览器托管的Blazor时,有人能解释一下我为什么需要在服务器上启动扩展名应用程序。使用Blazor? 如果Blazor客户端已经托管在net核心项目中->客户端启动为什么我的服务器项目需要添加此扩展 客户端不应该与服务器分离吗 我错过了什么?既然我的客户机项目已经独立,为什么我的服务器项目需要了解客户机 我加了一张照片。 如图所示,如果服务器通过http与客户端通信,为什么需要添加扩展? Blazor已经在asp net core中

免责声明 我指的是托管的Blazor,不是服务器端的

当运行
浏览器
托管的
Blazor
时,有人能解释一下我为什么需要在
服务器上启动
扩展名
应用程序。使用Blazor
? 如果
Blazor
客户端已经托管在
net核心项目中
->
客户端启动
为什么我的
服务器
项目需要添加此扩展

客户端
不应该与服务器分离吗

我错过了什么?既然我的
客户机
项目已经独立,为什么我的
服务器
项目需要了解
客户机

我加了一张照片。 如图所示,如果服务器通过
http
与客户端通信,为什么需要添加扩展? Blazor已经在
asp net core
中运行,这是
客户机项目,对吗?

既然我的客户机项目已经独立,为什么我的服务器项目需要了解客户机?

不,你的不是一个独立的项目。您的项目包含两个应用程序。读一下你自己写的。请尝试删除服务器项目并运行Blazor应用程序。您已经在浏览器中运行了一个前端应用程序(Blazor)。但您需要一个应用程序来为Blazor应用程序提供服务:在服务器上运行的ASP.NET核心应用程序

Blazor已经在asp网络核心中运行,这是客户端项目,对吗?

据我所知,Blazor是在mono webassembly下运行的


我建议您阅读UseBlazor方法的内容,了解它的作用,以及为什么需要它。据我回忆,它是Client.Program,而不是Client.Startup。

如果您指的是“单机版”blazor或“asp.net核心托管版”,我不太肯定。如果是后者,那么您所指的全部要点就是允许服务器托管客户端blazor内容。这很好,但如何将客户端内容交付给您的用户呢?这需要一台服务器。因此,“asp.net核心托管”。如果您想自己托管一个纯客户端版本,可以将其部署到S3或其他任何地方。但是很多人希望整个事务都在一个解决方案下进行,因此采用了后一种模式。但是
客户端
已经托管在
asp net核心
项目中,我说得对吗?
Client.Startup
是托管
Blazor
的服务器的
Startup
。不,
Client.Startup
是托管进程中运行的。但你还是需要一些东西来主持它,不是吗?哦,所以基本上,
客户端.Startup
的东西,它让你的
.NET
代码编译成
wasm
,而不是托管你的
wasm
代码的
服务器。我现在明白了。当你在
服务器
项目中使用
app.UseBlazor
时,你基本上会说“这家伙主持wasm”。在创建
blazor
模板时,我指的是单机版。(只是客户端项目)@Adrian,这里有一个链接,指向一篇由Microsoft撰写的名为Host and deploy Razor Components的文章:我从blazor开始,对op的相同问题很好奇。如果你检查文件,发现客户端版本与托管应用程序的客户端版本相同。我遗漏了一些东西?我认为@Bercovicadrian引用的是正确的。客户端版本是在不使用托管(服务器)的情况下运行。从解决方案中删除服务器项目。从.csproj中删除exe输出。它应作为客户端blazor应用程序运行。。