有什么方法可以在SignalR中执行以下操作:

public void CallClientMethod(string methodName, MyObject data)
{
    var ctx = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
    ctx.Clients.All.methodName(data);

    // or alternatively
    ctx.Clients.All.CallClientMethod(methodName, data);
}


上面的示例说明了目的,而不是实际的机制-我想确定要在运行时而不是编译时调用的方法。

最佳答案

你可以这样做:

public void CallClientMethod(string methodName, MyObject data)
{
    var ctx = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
    IClientProxy proxy = ctx.Clients.All;

    proxy.Invoke(methodName, data);
}

关于signalr - 如何从IHubContext调用动态选择的SignalR客户端方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19632587/

10-13 02:33