SignalR覆盖OnConnected(),OnDisconnected()

时间:2012-11-23 06:22:46

标签: signalr signalr-hub

我正在尝试覆盖OnConnected(),OnDisconnected()方法,但我得到:OnConnected()':找不到合适的方法来覆盖

实现IDisconnect,IConnect接口以及在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();
        }
    }

2 个答案:

答案 0 :(得分:12)

这个代码对我有用,直到今天早上我将SignalR从2.1.0升级到2.1.1,现在我得到了#34;找不到合适的方法来覆盖&#34; for OnDisconnected()。我认为需要像这样编写一个新参数:

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

答案 1 :(得分:5)

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