我已经设置了一个示例SignalR中心,ChatHub,添加了连接列表。当它运行OnConnected时,我看到它正在添加到List。但是当我在另一个浏览器中打开该页面时(期望列表现在有2个连接,我在列表中看到0个连接)。是否根据请求实例化ChatHub?
List<string> connections = new List<string>();
public override Task OnConnected()
{
connections.Add(Context.ConnectionId);
return base.OnConnected();
}
答案 0 :(得分:1)
是的,为每个请求创建了一个Hub实例。
您不会实例化Hub类或从您自己的方法调用其方法 服务器上的代码;所有这些都由SignalR Hubs为您完成 管道。 SignalR每次都会创建一个Hub类的新实例 它需要处理集线器操作,例如客户端连接时, 断开连接,或对服务器进行方法调用。