【发布时间】:2021-07-25 06:43:04
【问题描述】:
我通常使用 ASP.NET MVC 进行开发,但我对 Blazor 很陌生。我正在 Blazor WebAssembly 中创建一个新站点。我需要做的第一件事是创建一个带有简单表单的页面,该页面可以创建或更新项目并将其发送到服务器,以保存在数据库中。我可以使用 SignalR 发送对象,也可以使用 HttpClient 将其发布到控制器操作。 Blazor Wasm 的最佳实践是什么?一开始我很想一直使用 SignalR。
我已经看到了同时使用这两种方法的示例,但对于决定在什么情况下使用哪一种几乎没有什么帮助。 This 是我能找到的最有用的东西,但它没有回答确切的问题,也不是 Blazor 特有的。
这个问题专门针对简单的创建更新操作,但两者的其他优缺点都会非常有帮助。是不是像“只在客户端需要监听来自服务器的消息时才使用 SignalR,以避免打开的连接过多”那样简单?
非常感谢
【问题讨论】:
-
Blazor 服务器应用基于 SignalR 协议而不是 HTTP。在我看来,SignalR hub 实际上是一个控制器。请注意,您的 WebAssembly 应用程序中经过身份验证的用户也应该由 SignalR 集线器进行身份验证,以便通过集线器访问服务器上的资产...您需要使用 Authorize 属性注释集线器类。
标签: signalr blazor .net-5 blazor-webassembly