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

时间:2020-09-12 07:17:31

标签: c# .net-core blazor blazor-server-side

我目前正在测试Blazor,并且试图了解它。

到目前为止,我已经创建了一个带有Web API的.net核心后端的webassembly blazor,它确实运行良好。 然后,我使用SignalR创建了服务器端的blazor。它运作良好,但我想尝试使用API​​代替SignalR。 我的想法是,我应该将客户端和服务器端划分为两个单独的项目(也许使用共享项目,例如wasm示例)。 我还发现SignalR不是REST API。

我想知道,这有意义吗? VS2019具有用于带SignalR和Blazor客户端(wasm)的Blazor服务器的模板,并可以选择添加托管的.net核心(Web API REST)。我想如果有意义的话,将会有一个带有Web API(不带SignalR)的Blazor Server模板吗?

最好的问候

拖拉

1 个答案:

答案 0 :(得分:0)

我不认为可以,或者这样做很有用。这里的官方文档:https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models?view=aspnetcore-3.1#blazor-server声明

Blazor Server应用程序是基于ASP.NET Core SignalR构建的。

UI更新,事件处理和JavaScript调用通过SignalR连接进行处理。

您将如何使用api?使用api要求使用传统的Web开发技术。

连接到Blazor Server应用程序的每个浏览器屏幕(浏览器标签或iframe)都使用SignalR连接。

但是我有一个API

很酷,您可以使用自己的api。没有人禁止您从服务器blazor代码进行api调用。服务器blazor负责更新您的ui。您可以按照这种方式保留它,并在需要数据时,从服务器blazor代码中调用api。

更好的是,要摆脱多余的跃点,请将新项目创建为dll库,这些新库将处理您的业务逻辑并在服务器中使用它们。