SignalR覆盖OnConnected(),OnDisconnected()(SignalR ov

2019-08-03 03:19发布

我试图覆盖OnConnected(),OnDisconnected()方法,但我得到:OnConnected()“:发现没有覆盖合适的方法

是实现IDisconnect,IConnect的接口和内部的Connect()和断开()一样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();
        }
    }

Answer 1:

你可能会使用老版本的SignalR。 阅读本http://weblogs.asp.net/davidfowler/archive/2012/11/11/microsoft-asp-net-signalr.aspx 。



Answer 2:

此代码为我工作,直到今天早上,当我升级SignalR从2.1.0到2.1.1,现在我得到OnDisconnected“发现重写没有合适的方法”()。 我相信它需要被写成这样来考虑一个新的参数:

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


文章来源: SignalR overwriting OnConnected(), OnDisconnected()