【发布时间】:2016-11-09 09:07:36
【问题描述】:
我有一个简单的演示,只有 1 个客户端和服务器。我可以来回发送消息,非常琐碎的事情。
服务器集线器有一个计时器,它每 1000 毫秒向客户端发送一条消息。现在我有一个按钮,单击时会向服务器发送一条消息(通过 signalR)。
问题: 单击按钮时(并将消息发送到服务器),每次都会实例化集线器(我阅读了有关 SignalR 生命周期 here 的信息)。 当然,当 Hub 被实例化时,Timer 也会被实例化。所以我看到的副作用(即错误)是消息从多个 Hub 实例发送到客户端。
我想要什么: 我希望客户端接收消息(来自在集线器上运行的计时器),但只有一组来自单个集线器(最新的集线器实例?)的消息。我不希望从每个实例化的 Hub 产生同时/多条消息。
但也许我在这里的设计中做了一些严重错误的事情。
【问题讨论】: