1

我一直在试图找到这个问题的答案,所以希望有人能提供帮助。

一点背景知识:我正在使用 SignalR 并尝试扩展Chat Room Example。我的想法基本上是有一个进入房间的用户列表。我试图通过将用户名列表存储在“用户”缓存键中并在用户登录/注销时维护和分发此列表来做到这一点。当客户请求时,我想从我的集线器代码中访问此列表。

当我使用时,Application我得到了想要的结果,但据我了解,这HttpContext.Current.Application不是最好的方法,因为它只是为了与经典 asp 兼容。HttpContext.Current.ApplicationInstance我看到了很多NullPointerException关于ApplicationInstance. 为我要完成的任务操作一些缓存键(或等效键)的最佳方法是什么?

4

2 回答 2

1

使用数据库、缓存或静态变量来存储您的状态。避免在 SignalR 中使用 HttpContext.Current。

于 2013-10-04T04:02:22.470 回答
1

我根本不建议为此使用 Application 。如果您只是想缓存并根据登录/注销等事件使其保持最新,请在 Hub 类或对象缓存上使用静态成员(例如http://msdn.microsoft.com/en-us/library/ dd997357.aspx )

于 2013-10-04T04:04:13.473 回答