C# 重写的SignalR OnConnected方法中的EventHandler始终为null
我有一个从SignalR Hub类继承的类,并且正在重写OnConnected任务。当客户机连接时,OnConnected被激发,但我想使用EventHandler将其冒泡到Processor类。不幸的是,EventHanlder总是空的。有什么想法吗C# 重写的SignalR OnConnected方法中的EventHandler始终为null,c#,events,signalr,C#,Events,Signalr,我有一个从SignalR Hub类继承的类,并且正在重写OnConnected任务。当客户机连接时,OnConnected被激发,但我想使用EventHandler将其冒泡到Processor类。不幸的是,EventHanlder总是空的。有什么想法吗 public class LoadBalancerHub : Hub { public event EventHandler ClientConnected; public LoadBalancerHub() : base()
public class LoadBalancerHub : Hub
{
public event EventHandler ClientConnected;
public LoadBalancerHub() : base()
{
}
public override Task OnConnected()
{
ClientConnected?.Invoke(this, EventArgs.Empty);
return base.OnConnected();
}
}
public class Processor
{
public LoadBalancerHub Hub;
public Processor()
{
Hub = new LoadBalancerHub();
Hub.ClientConnected += Hub_ClientConnected;
}
private void Hub_ClientConnected(object sender, EventArgs e)
{
//do stuff here when event raised
}
}
我觉得你的代码很正确。调试时,处理程序在此行中是否有效? Hub.ClientConnected+=Hub\u ClientConnected
如果您有多个LoadBalancerHub对象,并且激发OnConnection()的对象未订阅…集线器似乎由信号器管道管理,并且对当前请求是瞬态的,该怎么办。有关更多信息,请参阅。您是否愿意让一个单件在集线器和处理器之间架起桥梁?您需要阅读,然后向我们提供一个。我不需要更多内容。不过,感谢您的输入。@StfBln这绝对是这里的问题。谢谢一旦我的解决方案被编写出来,我将用它进行更新。