我们有一个Signalr .NET应用程序直接使用底层的Microsoft.AspNet.SignalR.Client.Connection类(HubConnection类的父级)来实现更低级别的使用 . 现在我们不再在AspNetCore SignalR中看到它了:它看起来你可能只与Hubs一起工作 . 有没有其他方法可以直接在带有Connection对象的.net核心框架中工作,因为我们可以使用SignalR 2.x for .NET?

这是一个非常基本的样本:

public class DiagnosticsConnection : PersistentConnection
{
    protected override Task OnReceived(IRequest request, string connectionId, string data)
    {
        if (String.Equals(data, "PING", StringComparison.OrdinalIgnoreCase))
            Connection.Send(connectionId, "PONG");

        return base.OnReceived(request, connectionId, data);
    }
}

在基于.NET的SignalR(不是.NET Core / Standard)中,我们可以直接向客户端发送不同的(而不是强类型的)消息 .