组件外的 Blazor 服务器通知 UI

Blazor Server Notify UI outside of component

我的应用程序将组件列表上传到我们的 ERP 中。 上传过程可能需要 1 或 2 分钟。我想实时通知用户发生了什么。

我创建了一个 Blazor 服务器应用程序。我有带有一些 UI 逻辑的 razor 页面,但我不想将所有处理逻辑都放在 razor 页面中。所以我把它放到了一个worker中。

worker 如何将通知推送到 blazor 组件?

我对 SignalR 很感兴趣,但它们主要是关于 blazor webassembly 的,或者对我来说太基础了,不知道如何将它应用到我的情况中。

我想知道什么是好的方法?

您使用通知模式。服务——你称之为工作人员——每当发生变化时都会引发一个事件。任何需要了解更改的 UI 组件都会在服务事件上注册一个事件处理程序。通常事件处理程序只调用 StateHasChanged.

这是一个 Stackflow 答案,它演示了使用 Wea​​therForecast 列表的通知模式。 How can I trigger/refresh my main .RAZOR page from all of its sub-components within that main .RAZOR page when an API call is complete?