我目前正在测试Blazor,并试图理解它。
到目前为止,我创建了一个webassemblyblazor,它有一个带有Web API的.net核心后端,工作非常好。然后我用SignalR创建了一个服务器端blazor。它运行良好,但我想尝试使用API而不是SignalR。我的想法是,我应该将客户端和服务器端分为两个独立的项目(可能使用像wasm示例这样的共享项目(。我还发现SignalR不是REST API。
我想知道,这有道理吗?VS2019具有Blazor服务器的模板,带有SignalR和Blazor客户端(wasm(,可选择添加.net核心托管(Web API REST(。我想如果有意义的话,会有一个带有Web API(没有SignalR(的Blazor服务器模板吗?
谨致问候,
twl
我认为你做不到,甚至认为这样做很有用。这里的官方文档:https://learn.microsoft.com/en-us/aspnet/core/blazor/hosting-models?view=aspnetcore-3.1#blazor服务器状态
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库,处理您的业务逻辑并在服务器blazor中使用它们。