2016-09-12 56 views
1

我已经设置了一个示例SignalR hub,ChatHub,添加了连接列表。当它运行OnConnected时,我看到它被添加到列表中。但是,当我在另一个浏览器中打开该页面时(期待列表中有2个连接,我在列表中看到0个连接)。 ChatHub是否按每个请求实例化?SignalR 2连接不被持久

List<string> connections = new List<string>(); 
    public override Task OnConnected() 
    { 
     connections.Add(Context.ConnectionId); 
     return base.OnConnected(); 
    } 

回答

1

是是为每个请求创建一个Hub实例。

specifically

你不要实例集线器类或从服务器上自己 代码调用它的方法;所有这些都是由SignalR Hubs 管道为您完成的。 SignalR每次创建Hub类的新实例 它需要处理集线器操作,如客户端连接,断开连接或向服务器发起方法调用。