13

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);
}

上記の例は、実際のメカニズムではなく意図を示しています。コンパイル時ではなく、実行時に呼び出すメソッドを決定したいと考えています。

4

1 に答える 1

30

あなたはこれを行うことができます:

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

    proxy.Invoke(methodName, data);
}
于 2013-10-28T16:48:58.077 に答える