gpt4 book ai didi

signalr - 如何从 SignalR 消息接收返回值?

转载 作者:行者123 更新时间:2023-12-03 13:09:24 26 4
gpt4 key购买 nike

我正在从 MVC Controller 操作内部调用 SignalR

var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
var ret = context.Clients.Client("Whatever").getValue(userId);

无论如何,我是否可以从在操作中的客户端上调用的 getValue() 方法获得响应?

我尝试了几种方法,但根本无法获得 ret 的任何值(value)。我很确定这不适用于 SignalR 集线器,但找不到有关此的文档。

我考虑过的一个解决方案是在收到 getValue 后,客户端将调用集线器中的一个方法,但随后我必须设法将响应从集线器获取到 Controller 中。

最佳答案

SignalR 不像消息传递机制那样是 RPC 机制。因此,没有真正的返回值概念。

如果你想这样做,你就会破解它。您可以简单地做一些事情,在服务器中,您调用 getValue(),然后客户端的响应是使用返回值调用服务器。

因此,例如,在您的 javascript 中,您可能有以下内容:

myHub.client.getValue = function(userId) {
var retVal;
... set your retVal here ...
myHub.returnValue(userId, retVal)
}

然后让服务器实现一个 returnValue() 方法......

关于signalr - 如何从 SignalR 消息接收返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13852409/

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