在dotnet core 3.1中使用SignalR在Send上覆盖HubMethodName

时间:2019-12-15 19:09:21

标签: .net-core signalr

我正在使用strongly typed hubs来避免传递“魔术字符串”。

但是,在从客户端进行侦听时似乎没有遵守。

让我们从代码开始,然后进入示例。

代码:

public interface IChatClient
{
    Task ReceiveMessage(string user, string message);
}
public class StronglyTypedChatHub : Hub<IChatClient>, IChatClient
{
    [HubMethodName("chat.sendmessage")]
    public async Task SendMessage(string user, string message)
    {
        await Clients.All.ReceiveMessage(user, message);
    }
}

示例1 :客户端到SignalR

如果要从客户端执行该方法,则必须发送connection.invoke("chat.sendmessage", ...)。这按我预期的那样工作。

示例2 :向客户发送SignalR

如果我想听消息,则必须在connection.on("sendmessage", data => { ... });上听。


对于示例2,我想在HubMethodNameconnection.on("chat.sendmessage", data => { ... });中听相同的名字。

有什么想法吗?

0 个答案:

没有答案