SignalR静态采集

时间:2015-01-20 10:59:58

标签: asp.net signalr signalr-hub

我阅读了一些有关在SignalR应用中使用内存存储的文档。

http://www.asp.net/signalr/overview/guide-to-the-api/mapping-users-to- connections #inmemory

我相信您可以使用静态集合来保存您需要在集线器中处理的对象。是否可以从集线器外部访问此静态集合?如果应用程序中有其他对象需要在内存存储中访问它,那么最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

最佳做法是让Hub仅作为Hub,不管任何类型的业务逻辑。也不要从你的核心逻辑类调用hub客户端方法,这是高度耦合的并且是不好的做法。使用您自己的代码或使用库来抽象Hub,我已经创建了基于事件聚合模式的抽象库。

http://andersmalmgren.com/2014/05/27/client-server-event-aggregation-with-signalr/

答案 1 :(得分:1)

只需将Static集合公开并像访问任何其他静态集合一样访问它。当应用程序关闭时,该集合将丢失,因此需要在某处需要存储持久存储。