尽可能精确地为来自 Blazor 服务器的多个客户端事件计时

Timing multiple client events from Blazor server as precisely as possible

我想到了使用单例服务事件来协调多个用户之间的时间安排。具体来说,我会同时出一道问答题给玩家们。

我将使用什么方法同时向多个用户广播定时器事件(3、2、1、开始...)?

--编辑-- 我正在考虑显示图像,这可能需要一些时间来加载。 Blazor 是否在设置标记时或在客户端实际加载资产时触发“OnAfterRender”?

我不会为此使用单例。可以这样做,但不推荐。您可以使用 eventing mechanism 来完成此操作。在调用者可以订阅的单例中有一个事件,然后当特定事件发生时,将调用处理程序。

但是,这听起来像是使用 SignalR 的绝佳用例。我做同样的事情将信息从一台设备推送到另一台设备,而无需自己做繁重的工作。您可以使用组功能并将一个或多个用户添加到组中。然后你只需向群组发送一条消息,所有用户都会收到它。 SignalR 非常容易设置,您可以 运行 它就在您的 Asp.Net 核心应用程序中。不需要任何外部的东西。