Concurrency 一次会话的信号器和一个浏览器窗口

Concurrency 一次会话的信号器和一个浏览器窗口,concurrency,browser,signalr,optimistic-concurrency,Concurrency,Browser,Signalr,Optimistic Concurrency,我的情况是,用户可以在线修改类似Excel的网格计划。我希望能够显示一条消息,说明计划正在另一个窗口中修改。然而,当窗口打开时,如果上一个窗口是用信号器关闭的,我如何做到这一点呢。对于其他会话,我只想说明另一个用户正在修改计划。使用localStorage在单个用户打开的多个选项卡/窗口之间进行通信可能最简单: 您可以在调用localStorage.setItem或localStorage.removietem时,侦听用户在站点上打开的每个窗口上触发的事件 当然,使用信号器通知其他用户仍然是有意

我的情况是,用户可以在线修改类似Excel的网格计划。我希望能够显示一条消息,说明计划正在另一个窗口中修改。然而,当窗口打开时,如果上一个窗口是用信号器关闭的,我如何做到这一点呢。对于其他会话,我只想说明另一个用户正在修改计划。

使用localStorage在单个用户打开的多个选项卡/窗口之间进行通信可能最简单:

您可以在调用
localStorage.setItem
localStorage.removietem
时,侦听用户在站点上打开的每个窗口上触发的事件

当然,使用信号器通知其他用户仍然是有意义的


如果由于某种原因无法使用localStorage API,您仍然可以使用Signar通过使用中心内的
Clients.user(userName)…
向用户打开的每个窗口发送消息。默认情况下,
用户名
应与用户的
i主身份.Name
匹配,但您可以注册自己的
IUserIdProvider
来自定义此项:

您的具体要求相当模糊。您能提供一个简单的场景吗?查看计划页面,打开选项卡并导航到同一计划页面,但显示消息计划页面已被查看。