我正在尝试覆盖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();
}
}
答案 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。