将对象参数传递给集线器方法
Passing object parameter to hub method
虽然网上有很多类似的问题,但我还没有找到合适的解决问题的方法:
我有一个 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);
发送时,它们的值为:
但是服务器端的方法(ProcessRequest
)从未调用过。
当我更改此方法以获取字符串类型参数并从客户端发送纯字符串时,它工作正常。
简短的回答是:
var jsonInput = JSON.stringify(input);
不需要,因为您可以直接将 javascript 对象发送到 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);
发送时,它们的值为:
但是服务器端的方法(ProcessRequest
)从未调用过。
当我更改此方法以获取字符串类型参数并从客户端发送纯字符串时,它工作正常。
简短的回答是:
var jsonInput = JSON.stringify(input);
不需要,因为您可以直接将 javascript 对象发送到 SignalR。