Если пользователь переходит на другой сайт, отличный от моего, или нажимает кнопку 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)));
};
}