回到顶部

浅析SignalR连接生命周期的几个重要方法

时间:4年前   作者:庞顺龙   浏览:5246   [站内原创,转载请注明出处]

标签: SignalR  

参照官网:http://www.asp.net/signalr/overview/guide-to-the-api/handling-connection-lifetime-events

一般我们只会处理hub类的方法,重写OnConnectedOnDisconnected,和 OnReconnected 方法

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

或者 OnConnectedOnDisconnected 事件,可以查阅如何处理SignalR生命周期




庞顺龙最后编辑于:3年前

内容均为作者独立观点,不代表八零IT人立场,如涉及侵权,请及时告知。

评论努力加载中...
暂无评论
暂无评论

手机扫码阅读

热门相关

加载中...
关于我们   联系我们   申请友链   赞助记录   站点地图
© 2014 - 2017 www.80iter.com All Rights Reserved. 京ICP备14042174号-1
本站遵循 CC BY 4.0 协议,转载请注明出处 。