我想它会如下所示。
服务器(C#):
public class MyHub : Hub {
...
public int DoSomething(Func<int> fn) {
var res = fn();
return res;
}
...
}
客户端(TS / JS):
myHub.invoke('DoSomething', () => 2 + 2).then(res => console.log(res));
但是,使用此代码fn
在服务器上为空。
答案 0 :(得分:1)
似乎这是不可能的,因为您的参数应该是可序列化的。所以你可以 - 在已知结构中序列化参数并根据反序列化结果生成调用函数。
答案 1 :(得分:0)
您可以在c#中编写函数并将其作为字符串传递回服务器,然后编译并运行它 - 这可能有助于编译: http://www.codeproject.com/Tips/715891/Compiling-Csharp-Code-at-Runtime