Blazor WebAssembly - 使用 SignalR 或 Controller 操作进行基本操作?

Blazor WebAssembly - use SignalR or Controller actions for basic operations?

我通常使用 ASP.NET MVC 进行开发,但我对 Blazor 还很陌生。我正在 Blazor WebAssembly 中创建一个新站点。我需要做的第一件事是创建一个具有简单表单的页面,该页面可以创建或更新项目并将其发送到服务器,以保存在数据库中。我可以使用 SignalR 发送对象,或者使用 HttpClient 将其 post 发送到控制器操作。 Blazor Wasm 中的最佳实践是什么?一开始我很想一直使用 SignalR。

我看过同时使用这两种方法的示例,但对决定在什么情况下使用哪种方法帮助不大。 This 是我能找到的最有用的东西,但它没有回答确切的问题,也不是特定于 Blazor。

问题具体是关于简单的创建更新操作,但两者的其他优缺点会非常有帮助。是否像“仅在客户端需要侦听来自服务器的消息时才使用 SignalR,以避免打开太多连接”一样简单?

非常感谢

Is it as simple as "only use SignalR when clients need to listen for messages from the server, to avoid having too many open connections"?

是的,我认为是。 CRUDL 操作是事务性的和异步的。做一个交易,永远等待用户,做另一个交易,....我总是通过 API Get/Post.

来做这些

我唯一会考虑 SignalR 的地方是我传递 object 定义的对象 - 例如 Dictionary<string, object>。它们在控制器 API 调用中很痛苦。