Я следую этим рекомендациям .
Но проблема возникает, когда я пытаюсь переопределить задачу OnDisconnectAsync
класса PersistentConnection
. Код как сильфон:
public class MyConnection:PersistentConnection
{
......
protected override Task OnDisconnectAsync(string clientId)
{
//1. Remove clientID from <List> memberManager
Member member = (from m in memberManager where m.clientID == clientId select m).FirstOrDefault();
memberManager.Remove(member);
return Connection.Broadcast(new { type = 1, value = "Disconneted ClientID" + clientId });
}
......
}
Я обнаружил, что когда пользователь закрывает вкладку или браузер, задача OnDisconnectAsync
не запускается.
Что не так в моем коде или как я узнаю об отключенном клиенте?