了解和处理SignalR连接生命周期
官方网站http://www.asp.net/signalr/overview/hubs-api/handling-connection-lifetime-events
如何处理Hub类中的连接生命周期内的事件
在Hub类中重写OnConnected, OnDisconnected,和 OnReconnected 方法
public class ContosoChatHub : Hub{
public override Task OnConnected()
{
// 在这添加你的代码.
// 例如:在一个聊天程序中,记录当前连接的用户ID和名称,并标记用户在线.
// 在该方法中的代码完成后,通知客户端建立连接,客户端代码
// start().done(function(){//你的代码});
return base.OnConnected();
}
public override Task OnDisconnected()
{
// 在这添加你的代码.
// 例如: 标记用户离线
// 删除连接ID与用户的关联.
return base.OnDisconnected();
}
public override Task OnReconnected()
{
// 在这添加你的代码.
// 例如:你可以标记用户离线后重新连接,标记为在线
return base.OnReconnected();
}}
每当浏览器导航到一个新的页面,就会建立一个新的连接,这意味着SignalR将在OnConnected ()后,执行OnDisconnected ()方法,
SignalR在创建新连接后,总是创建新的连接ID.
当连接暂停后,SignalR调用OnReconnected() 方法使连接恢复,
()方法调用后,SignalR不能自动重新连接,例如浏览器导航到了新的网页,因此,可以指定用户事件顺序为: OnConnected, OnReconnected, OnDisconnected;或者 OnConnected, OnDisconnected.
事件,可以查阅如何处理SignalR生命周期

浙公网安备 33010602011771号