SignalR覆盖OnConnected(),OnDisconnected()

问题描述 投票:9回答:2

我正在尝试覆盖OnConnected()OnDisconnected()方法,但得到:

OnConnected()': no suitable method found to override

正在实现IDisconnectIConnect接口并在Connect()Disconnect()中进行与OnConnected()OnDisconnected()相同的处理吗?

提供什么?

public static class UserHandler
{
    public static HashSet<string> ConnectedIds = new HashSet<string>();
}

public class MyHub : Hub
{
    public override Task OnConnected()
    {
        UserHandler.ConnectedIds.Add(Context.ConnectionId);
        return base.OnConnected();
    }

    public override Task OnDisconnected()
    {
        UserHandler.ConnectedIds.Remove(Context.ConnectionId);
        return base.OnDisconnected();
    }
}
signalr signalr-hub
2个回答
5
投票

12
投票
此代码对我一直有效,直到今天早上将SignalR从2.1.0升级到2.1.1为止,现在我发现OnDisconnected()找不到“合适的方法来覆盖”。我相信它需要这样写才能说明一个新参数:

public override Task OnDisconnected(bool stopCalled = true) { UserHandler.ConnectedIds.Remove(Context.ConnectionId); return base.OnDisconnected(stopCalled); }

© www.soinside.com 2019 - 2024. All rights reserved.