C# 我们可以在没有信号器的情况下创建blazor服务器应用程序吗?

C# 我们可以在没有信号器的情况下创建blazor服务器应用程序吗?,c#,.net-core,blazor,blazor-server-side,C#,.net Core,Blazor,Blazor Server Side,我目前正在测试Blazor,我正在努力理解它 到目前为止,我创建了一个webassembly blazor,它有一个带有WebAPI的.net核心后端,运行得非常好。 然后我用signar创建了一个服务器端blazor。它工作得很好,但我想尝试使用API而不是信号器。 我的想法是,我应该在两个单独的项目中分离客户端和服务器端(可能是像wasm示例这样的共享项目)。 我还发现信号器不是RESTAPI 我在想,这有意义吗?VS2019为Blazor服务器提供了带有信号器的模板,并为Blazor客户端

我目前正在测试Blazor,我正在努力理解它

到目前为止,我创建了一个webassembly blazor,它有一个带有WebAPI的.net核心后端,运行得非常好。 然后我用signar创建了一个服务器端blazor。它工作得很好,但我想尝试使用API而不是信号器。 我的想法是,我应该在两个单独的项目中分离客户端和服务器端(可能是像wasm示例这样的共享项目)。 我还发现信号器不是RESTAPI

我在想,这有意义吗?VS2019为Blazor服务器提供了带有信号器的模板,并为Blazor客户端(wasm)提供了添加.net核心托管(Web API REST)的选项。我猜Blazor服务器会有一个带有Web API的模板(不带SignalR),如果它有意义的话

致以最良好的祝愿


twl

我认为你做不到,甚至做这件事也没用。这里的官方文件是:美国

Blazor服务器应用程序构建在ASP.NET核心信号器之上

UI更新、事件处理和JavaScript调用通过信号器连接进行处理

您将如何使用api来实现它?api的使用需要传统的web开发技术

连接到Blazor服务器应用程序的每个浏览器屏幕(浏览器选项卡或iframe)都使用信号器连接

但是我有一个API 酷,你可以使用你的api。没有人禁止您从服务器blazor代码进行api调用。服务器blazor负责更新您的ui。您可以保持这种方式,当需要数据时,从服务器blazor代码调用api


更好的是,为了摆脱这种额外的跳跃,创建新的项目作为dll库,处理您的业务逻辑并在服务器blazor中使用它们。

FE如何实时与BE通信,反之亦然?信号器只是一个websocket实现。如果websockets不可用,它会使用其他方法与服务器进行通信。SignalR是服务器端blazor中的必备工具。如果你不想这样,那就换成wasm blazor。然后,如果需要,您可以选择使用signalR或直接使用控制器。“它有意义吗?”:否。“分离客户端和服务器端”:使用Webassembly。