将对象参数传递给hub方法

时间:2016-11-30 16:40:20

标签: c# .net signalr

虽然网上有很多这样的问题,但我找不到合适的问题来解决我的问题:

我有一个SignalR集线器方法:

public ClientResponses ProcessRequest(ClientRequest request) {...}

此方法将ClientRequest对象作为参数:

[Serializable]
public class ClientRequest : BaseClientRequest
{
    [JsonProperty("input")]
    public string Input { get; set; }
}

我从客户端那样调用这个方法:

var input = new Input(message);
var jsonInput = JSON.stringify(input);
hubProxy.server.processRequest(jsonInput);

发送时,其值为:

enter image description here

但是服务器端的方法(ProcessRequest)从未调用过。

当我更改此方法以获取字符串类型参数并从客户端发送纯字符串时,它可以正常工作。

1 个答案:

答案 0 :(得分:1)

简短的回答是:

var jsonInput = JSON.stringify(input); 

不需要,因为您可以将直接的javascript对象发送到SignalR。