C# 信号器客户端-IHubProxy.On<&燃气轮机;和调用<&燃气轮机;接受接口

C# 信号器客户端-IHubProxy.On<&燃气轮机;和调用<&燃气轮机;接受接口,c#,signalr,C#,Signalr,我正在构建一个windows服务,它将充当雇用Signal的现有站点的客户端 我有IHubProxy.On和IHubProxy.Invoke方法在传递具体类时工作 例如,这项工作: hubProxy.On<MigrationRequest>("iSWindowsServiceRequest", request => MigrateData.Invoke(request)); 现在,如果我尝试以下方法: hubProxy.On<IISWindowsServic

我正在构建一个windows服务,它将充当雇用Signal的现有站点的客户端

我有
IHubProxy.On
IHubProxy.Invoke
方法在传递具体类时工作

例如,这项工作:

 hubProxy.On<MigrationRequest>("iSWindowsServiceRequest", request =>
     MigrateData.Invoke(request));
现在,如果我尝试以下方法:

hubProxy.On<IISWindowsServiceRequest>("iSWindowsServiceRequest", request => 
Handshake.HandleRequest(request));
但这会

public class ISWindowsServiceResponse
{
    public MigrationRequest OriginalRequest { get; set; }
    public bool Success { get; set; }
    public string Message { get; set; }
}

在我工作的地方,我们花了很多时间试图找到一种让信号器集线器序列化接口的方法。最后,我们不得不提取真实的对象(真实的类和结构,而不是在接口后面)通过网络发送。无法告诉信号器如何序列化接口

如果您只想要pub-sub,您可以尝试使用PersistentConnection而不是hub,它们更简单,但您可能需要自己处理序列化/反序列化。如果您可以更改信号器部分,那么信号器将如何将json负载反序列化到接口?必须有一个实际的类实现一个接口,信号器不知道它是什么,所以它可以实例化。请注意,该接口可以有多个实现。(我本想对此发表评论,但我的名声不足以发表评论。对不起!)
public class ISWindowsServiceResponse
{
    public IISWindowsServiceRequest OriginalRequest { get; set; }
    public bool Success { get; set; }
    public string Message { get; set; }
}
public class ISWindowsServiceResponse
{
    public MigrationRequest OriginalRequest { get; set; }
    public bool Success { get; set; }
    public string Message { get; set; }
}