【发布时间】:2024-01-12 02:06:01
【问题描述】:
我目前正在使用 SignalR Core 开发 ASP.NET Core 2 应用程序。我想知道是否可以在 Hub 类中接收一个复杂的对象,而不是一个简单的字符串或简单的数据结构。
工作 - 这个例子工作正常:string message
public class MyHub : Hub
{
public Task SendMessage(string message)
{
// ... some logic
}
}
有效 - 此示例也可以正常工作:List<Dictionary<string, object>> message
public class MyHub : Hub
{
public Task SendMessage(List<Dictionary<string, object>> message)
{
// ... some logic
}
}
无法正常工作 - 我似乎无法通过 SignalR 传输复杂对象,例如如果我创建一个自定义消息类:
public class Message
{
public int MessageId { get; set; }
public List<Dictionary<string, object>> Items { get; set; }
public List<string> TextMessages { get; set; }
}
public class MyHub : Hub
{
public Task SendMessage(Message message)
{
// ... some logic
}
}
您知道如何通过 SignalR RPC 传输复杂对象吗?
谢谢!
【问题讨论】:
-
您能否为
SendMessage接受Message参数的集线器添加客户端代码?只要您发送正确的 JSON,它就应该通过。 -
谢谢,我只在 .NET 中工作,但没有 JavaScript……也许我只是缺少 [Serializable] 属性……
-
与我们分享您的 signalR 客户端代码。
标签: c# asp.net-core signalr