使用Signal R,如果尝试发送对象,传递模型的语法是什么?
private async void FormLoaded(object sender, RoutedEventArgs e)
{
//Connection stuff...
Proxy.On("sendHello", () => OnSendDataConnection(ModelBuilder()));
}
private void OnSendDataConnection(ConnectionModel model)
{
Dispatcher.Invoke(DispatcherPriority.Normal,model?????)
this.Dispatcher.Invoke((Action)(LoadW));
}
答案 0 :(得分:3)
查看问题(文本,而不是代码)我理解您正在尝试将Complex对象发送到JS端并在那里使用它?这是对的吗?
在这种情况下,解决方案应该很简单:
您可以指定返回类型和参数,包括复杂类型 和数组一样,就像在任何C#方法中一样。您收到的任何数据 在参数或返回调用者之间进行通信 客户端和服务器使用JSON, SignalR处理绑定 复杂对象和对象数组自动。
示例C#:
public void SendMessage(string name, string message)
{
Clients.All.addContosoChatMessageToPage(new ContosoChatMessage() { UserName = name, Message = message });
}
JS:
var contosoChatHubProxy = $.connection.contosoChatHub;
contosoChatHubProxy.client.addMessageToPage = function (message) {
console.log(message.UserName + ' ' + message.Message);
});
ContosoChatMessage在哪里:
public class ContosoChatMessage
{
public string UserName { get; set; }
public string Message { get; set; }
}
(请参阅示例......)
所以基本上,在JS收到“模型”时,您应该能够使用'model.XY',其中XY是模型复杂对象的成员。
我希望它有所帮助。