gpt4 book ai didi

c# - 使用 SQL Server 扩展 SignalR - 是否可以从外部服务添加消息?

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:16 25 4
gpt4 key购买 nike

我使用 SQL Server 作为扩展我的 SignalR 的背板。在我的场景中,有一些服务在其他服务器上运行,我需要将它们的工作状态集成到我的 SignalR 中心。

作为测试,我尝试使用 SQL Server 横向扩展运行一个简单的控制台应用程序并发布如下消息:

        var config = new SqlScaleoutConfiguration(connectionString);
GlobalHost.DependencyResolver.UseSqlServer(connectionString);

var messageBus = new SqlMessageBus(GlobalHost.DependencyResolver, config);
var message = new Message("TransactionHub", "RegisterClient","{userId:1}");
messageBus.Publish(message);

我能以某种方式使用 SQLScaleout 吗?

如果没有,是否有其他方法可以完成我想做的事情?

编辑:

我已经按照 halter73 的建议做了并且工作正常,你必须注意如果你激活客户端功能,你发送的参数必须匹配,即如果对象是“Namespace.ClassName”那么你应该发送完全相同类型的对象。

最佳答案

您应该尝试使用 GlobalHost.ConnectionManager.GetHubContext 而不是直接发布到总线。您的代码看起来像这样:

var context = GlobalHost.ConnectionManager.GetHubContext<TransactionHub>();
context.Clients.All.registerClient(new { userId = 1 });

关于c# - 使用 SQL Server 扩展 SignalR - 是否可以从外部服务添加消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24483681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com