【问题标题】:Work around for session for signalR解决 signalR 的会话
【发布时间】:2012-08-07 02:32:07
【问题描述】:

我一直在网上查找并且一直在阅读您不能在 signalR 集线器类中使用 HttpContext.Current.Cache,所以如果我希望能够让每个用户都有一些可以在我的集线器方法。

编辑:

这些数据只需要在我的集线器类中使用,我不需要在我的 asp.net 应用程序的其他地方访问它。不过,它肯定需要特定于用户。

【问题讨论】:

  • 您是否希望能够与您的 ASP.NET 应用程序共享相同的缓存?
  • @DrewMarsh 不,它只需要在 hub 类内部访问

标签: c# asp.net session signalr


【解决方案1】:

如果您只是在寻找内置 ASP.NET 缓存的等效功能,那么您可以简单地启动 System.Runtime.Caching.MemoryCache 类的静态实例。然后只需在您的各种集线器方法中访问静态实例。

请记住,这是一个单服务器内存解决方案。对于更高级的、进程外的分布式缓存解决方案,我会使用 AppFabric(Azure 或本地)或 Memcached。

【讨论】:

  • 哇,好答案!我想知道如果你注入一个维护缓存的类的实例会怎样?
  • 哦,当然注入会很好用……而且是一个更好的实现。我只是给出了一个静态原因的基本建议,我不想对你的设置做任何假设。如果您打算采用注入路线,我建议您完全创建一个单独的接口来抽象缓存实现,以便您以后可以引入一个不同的支持实现,该实现确实使用更强大的分布式缓存技术。
猜你喜欢
  • 1970-01-01
  • 2017-10-30
  • 1970-01-01
  • 2012-01-28
  • 2017-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-05
相关资源
最近更新 更多