【问题标题】:Is it possible to pass a function with SignalR?是否可以使用 SignalR 传递函数?
【发布时间】:2016-11-22 16:39:50
【问题描述】:

我想它会如下所示。

服务器(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 在服务器上为空。

【问题讨论】:

  • 你可能会受到 XSS 攻击

标签: javascript c# .net signalr signalr-hub


【解决方案1】:

这似乎是不可能的,因为您的参数应该是可序列化的。所以你可以 - 序列化已知结构的参数并根据反序列化结果生成调用函数。

【讨论】:

    【解决方案2】:

    您可以在 c# 中编写函数并将其作为字符串传递回服务器,然后编译并运行它 - 这可能有助于编译: http://www.codeproject.com/Tips/715891/Compiling-Csharp-Code-at-Runtime

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多