使用在运行时设置的名称调用客户端方法

时间:2015-08-23 08:12:25

标签: c# asp.net signalr signalr-hub signalr.client

我使用signalR从服务器调用一些javascript方法,如下所示:

Clients.Client(connectionId).myJSMethodName(params);

客户端属于动态类型,因此它将调用" myJSMethodName(params)"使用javascript中确切名称的函数。

我想要做的是调用在运行时设置的函数名。像这样:

string myFunction = "helloWorld";
Clients.Client(connectionId)[myFunction](params);

将转换为

Clients.Client(connectionId).helloWorld(params);

这不起作用,也不是

Clients.Client(connectionId).myFunction(params); 

因为这将调用名为" myFunction"的函数。而不是" helloWorld"。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

事实证明我需要调用" Invoke"像这样的方法:

string myFunction = "helloWorld";
Clients.Client(connectionId).Invoke(myFunction, params);