ASP.Net中的SignalR 1.01集线器:跨页面存储组信息

ASP.Net中的SignalR 1.01集线器:跨页面存储组信息,asp.net,signalr,sql-server-2008r2-express,Asp.net,Signalr,Sql Server 2008r2 Express,我目前正在构建一个signar应用程序(使用ASP.NETMVC4,在IIS7上使用SQLServer2008R2 Express),在该应用程序中,用户进入大厅并分组,然后在不同的页面上进行交互 Html5本地存储对于任何参与者都是必需的,因此我可以在客户端存储组信息 我有两个关于信号器组成员资格相关应用程序设计的问题: 在服务器上存储组成员身份的最佳方式是什么?一个单例变量,一个带有组和连接ID的数据库,还是其他什么?对于SQL Server Express和大约100-200个用户来说,数

我目前正在构建一个signar应用程序(使用ASP.NETMVC4,在IIS7上使用SQLServer2008R2 Express),在该应用程序中,用户进入大厅并分组,然后在不同的页面上进行交互

Html5本地存储对于任何参与者都是必需的,因此我可以在客户端存储组信息

我有两个关于信号器组成员资格相关应用程序设计的问题:

  • 在服务器上存储组成员身份的最佳方式是什么?一个单例变量,一个带有组和连接ID的数据库,还是其他什么?对于SQL Server Express和大约100-200个用户来说,数据库会有问题吗

  • 在页面更改过程中,哪些内容会更改并触发?我是否必须手动续订组成员资格,断开连接/重新连接是否启动,如果是,我是否可以将这种断开连接与永久离开的用户区分开来

  • (1)如果您只为会话保留组信息,则应该考虑在集线器/持久连接类中使用静态变量来存储有关组的信息(允许内存要求)。例如,连接ID和组之间的字典/映射。需要注意的是,在应用程序域重新启动或web场中,静态不会持久化

    为了避免这种情况,您可以简单地将组信息存储在数据库中,而不必担心在应用程序域重新启动期间丢失组信息

    您还应该看到-它使用静态变量来保存不同用户所在聊天室的信息

    (2) 如果您从同一应用程序中的另一个页面建立新连接,则连接id将不同。刷新页面时,将触发断开连接事件,您将使用其他id再次连接。在这些情况下,您需要手动使用应用程序中的会话管理机制将新连接id映射到用户

    < P>(1)如果您只为会话保留组信息,则应考虑在集线器/持久连接类中使用静态变量来存储有关组的信息(允许内存要求)。例如,连接ID和组之间的字典/映射。需要注意的是,在应用程序域重新启动或web场中,静态不会持久化

    为了避免这种情况,您可以简单地将组信息存储在数据库中,而不必担心在应用程序域重新启动期间丢失组信息

    您还应该看到-它使用静态变量来保存不同用户所在聊天室的信息

    (2) 如果您从同一应用程序中的另一个页面建立新连接,则连接id将不同。刷新页面时,将触发断开连接事件,您将使用其他id再次连接。在这些情况下,您需要手动使用应用程序中的会话管理机制将新连接id映射到用户

  • 我用这个。一个非常快速的缓存,也可以保存您的数据。(谷歌上有很多信息)你可以使用booksheeve(signalr团队也使用它)或servicestack.redis来访问它。这样,您就不必将其放入静态变量或缓慢的数据库调用中

  • 同一站点上的每一页更改都会导致断开连接和连接。connectionID将不同,因此您应该使用某种机制将connectionID映射到登录的用户,并将其持久化。如果您希望能够发送单独的消息而不是广播,那么就可以这样做

  • 我用这个。一个非常快速的缓存,也可以保存您的数据。(谷歌上有很多信息)你可以使用booksheeve(signalr团队也使用它)或servicestack.redis来访问它。这样,您就不必将其放入静态变量或缓慢的数据库调用中

  • 同一站点上的每一页更改都会导致断开连接和连接。connectionID将不同,因此您应该使用某种机制将connectionID映射到登录的用户,并将其持久化。如果您希望能够发送单独的消息而不是广播,那么就可以这样做


  • 我会检查参考资料的,谢谢。我会检查参考资料的,谢谢。谢谢你的提示,我发现这非常有建设性和有帮助,所以我不相信这一结束动作,唉……stackoverflow上有这么一群失败者,不知羞耻地编辑答案并抄袭他人的答案只是为了得分。享受生活。谢谢你的建议,我觉得这很有建设性,也很有帮助,所以我不相信这个收尾动作,唉……stackoverflow上的一群失败者,无耻地编辑答案,抄袭别人的答案,只为了得到分数。获得生活。