3
如果用戶導航到除我以外的其他站點,或者點擊X按鈕完全關閉瀏覽器,那麼OnDisconnected在一段時間後仍會被調用嗎?如果用戶離開網站,SignalR會調用OnDisconnected
我問的原因是因爲我需要在用戶離開時更新數據庫,以便它不會將用戶顯示爲仍然在房間中。
- 即使用戶完全關閉了瀏覽器,下面的功能是否會在一段非活動後被調用?
public override async Task OnDisconnected()
{
if (!string.IsNullOrEmpty(this.Context.QueryString["acroomid"]))
{
string roomid = this.Context.QueryString["acroomid"],
uid = this.Context.QueryString["uid"],
isPro = this.Context.QueryString["isPro"];
await Groups.Remove(Context.ConnectionId, roomid);
ChatManager.LeaveChatRoom(uint.Parse(roomid), new Guid(Membership.GetUser().ProviderUserKey.ToString()));
Clients.Group(roomid).gone(new Attendee(Context.ConnectionId, Membership.GetUser().UserName, bool.Parse(isPro)));
};
}