我已经为 Web 应用程序实现了 SignalR 支持。它工作得很好。我现在处理的问题是让它在非 Azure 网络场环境中工作。SignalR 支持开箱即用的 Windows Azure 服务总线和 Redis。GitHub 上还有 RabbitMQ 实现。所有这些解决方案都实现了 IMessageBus 接口。
根据我们目前的情况,我们不能使用 Redis 或 RabbitMQ。所以我有几个问题:
1) 有没有使用 SQL Server 或 MSMQ 的替代解决方案?
2) 为 SQL Server 或 MSMQ 实施自己的解决方案是否困难(可能)?David 在 SignalR 0.5 (http://weblogs.asp.net/davidfowler/archive/2012/05/02/signalr-0-5.aspx) 上的帖子说他们将支持 SQL Server QNS 或 Service Broker(不是 SQL Server DB本身)所以也许这根本是错误的方式?
3) 在实施此支持之前,有没有办法解决?例如,听起来我们需要处理服务器之间的连接列表的状态。如果我们知道节点的数量和它们的 IP,我们可以通过 Web 服务调用在服务器之间共享这些信息。这有什么意义吗?