C# 事件泛型类型参数上的信号器网络客户端

C# 事件泛型类型参数上的信号器网络客户端,c#,signalr,signalr-hub,signalr.client,C#,Signalr,Signalr Hub,Signalr.client,我希望我的客户机方法HandleMessage能够处理所有类型的IMessage,所以我做了如下操作,但我的HandleMessage方法从未被命中。我应该只在Hub.On事件中使用具体类型参数吗 信号客户端 类型 我认为signar只支持具体的类型方法处理程序,您需要为每种类型添加特定的事件 谢谢。我想是的,但你确定吗?你有任何文件支持这一点吗? Hub = Connection.CreateHubProxy("Test"); Hub.On<IMessage>("ReceiveMe

我希望我的客户机方法HandleMessage能够处理所有类型的IMessage,所以我做了如下操作,但我的HandleMessage方法从未被命中。我应该只在Hub.On事件中使用具体类型参数吗

信号客户端 类型
我认为signar只支持具体的类型方法处理程序,您需要为每种类型添加特定的事件


谢谢。

我想是的,但你确定吗?你有任何文件支持这一点吗?
Hub = Connection.CreateHubProxy("Test");
Hub.On<IMessage>("ReceiveMessage", (payload) => HandleMessage(payload));
await Connection.Start();
public static async Task BroadCast(Payload payload)
{
    try
    {
        var user = UserHandler.UserList.Find(x => x.UserId == payload.CustomerId.ToString());
        if (user != null)
        {
            await SendRelatedPayload(payload, user);
        }
    }
    catch (Exception ex)
    {
    }
}
private static async Task SendRelatedPayload(Payload payload, UserConnection user)
{
    string[] data = payload.MessageContent.Split('|');

    switch (payload.MessageType)
    {
        case (short)MessageType.Order:

            IMessage order = new Order
            {
                CustomerId = data[0],
                OrderId = data[1],
                OrderStatus = data[2],
            };
            await context.Clients.Client(user.ConnectionId).ReceiveMessage(order);

            break;
        case (short)MessageType.Accrual:

            IMessage accrual = new Accrual
            {
                CustomerId = data[0],
                OrderId = data[1],
                Nominal = data[2],
                Price = data[3],
            };
            await context.Clients.Client(user.ConnectionId).ReceiveMessage(accrual);

            break;
    }
}
public interface IMessage
{
    string CustomerId { get; set; }
}

public class Accrual : IMessage
{
    public string OrderId { get; set; }
    public string Price { get; set; }
    public string Nominal { get; set; }
    public string CustomerId { get; set; }
}

public class Order : IMessage
{
    public string OrderId { get; set; }
    public string OrderStatus { get; set; }
    public string CustomerId { get; set; }
}