SignalR overwriting OnConnected(), OnDisconnected()

天涯浪子 提交于 2019-12-05 16:54:25

问题


I'm trying to overwrite OnConnected(), OnDisconnected() methods but I get:

OnConnected()': no suitable method found to override

Is implementing IDisconnect, IConnect interfaces and doing my processing within Connect() and Disconnect() the same as OnConnected(), OnDisconnected()?

what gives?

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();
    }
}

回答1:


You're probably using and old version of SignalR. Read this http://weblogs.asp.net/davidfowler/archive/2012/11/11/microsoft-asp-net-signalr.aspx.




回答2:


This code worked for me until this morning when I upgraded SignalR from 2.1.0 to 2.1.1, and now I get "no suitable method found to override" for OnDisconnected(). I believe it needs to be written like this instead to account for a new parameter:

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


来源:https://stackoverflow.com/questions/13524046/signalr-overwriting-onconnected-ondisconnected

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!