Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Signalr 多个用户访问服务器端Blazor中的相同状态_Signalr_Asp.net Core Signalr_Blazor Server Side - Fatal编程技术网

Signalr 多个用户访问服务器端Blazor中的相同状态

Signalr 多个用户访问服务器端Blazor中的相同状态,signalr,asp.net-core-signalr,blazor-server-side,Signalr,Asp.net Core Signalr,Blazor Server Side,我是Blazor的新手,我正在尝试使用使用.NETCore3.0的服务器端模型 我正在尝试建立一个简单的多用户矢量绘图应用程序,它允许多个用户在同一画布上创建形状 形状和参数等都存储在数据库中,并且有许多画布 我的问题是,如果两个(或更多)用户正在查看同一画布,那么在其他用户创建新形状时,如何保持状态最新?如何检测哪些其他用户正在查看或编辑同一画布 TIA.服务器端Blazor实际上是构建在Signal之上的。它将是理想的利用信号做你的实时,多用户绘制的形状 更多关于信号员 基本上,您可以创建

我是Blazor的新手,我正在尝试使用使用.NETCore3.0的服务器端模型

我正在尝试建立一个简单的多用户矢量绘图应用程序,它允许多个用户在同一画布上创建形状

形状和参数等都存储在数据库中,并且有许多画布

我的问题是,如果两个(或更多)用户正在查看同一画布,那么在其他用户创建新形状时,如何保持状态最新?如何检测哪些其他用户正在查看或编辑同一画布


TIA.

服务器端Blazor实际上是构建在Signal之上的。它将是理想的利用信号做你的实时,多用户绘制的形状

更多关于信号员


基本上,您可以创建一个
集线器
,它可以与一个或多个
客户端
对话。客户端会将消息发送到集线器的画布上的
draw()
,然后该draw事件可以广播到集线器上的所有客户端。

您可以通过在单例服务中包装NavigationManager来跟踪所有用户的位置

对于形状,您可以使用类似的想法—让操纵形状的服务通知单例服务,然后单例服务可以向该页面的所有订阅者(由NavigationManager包装器确定的用户)引发事件