gpt4 book ai didi

c# - 如果用户离开网站,SignalR 是否会调用 OnDisconnected

转载 作者:行者123 更新时间:2023-11-30 18:31:16 25 4
gpt4 key购买 nike

如果用户导航到我以外的其他站点或单击 X 按钮完全关闭浏览器,一段时间后是否仍会调用 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)));
};
}

最佳答案

根据这篇文章: http://www.asp.net/signalr/overview/signalr-20/hubs-api/handling-connection-lifetime-events

服务器将等到断开超时时间结束,然后触发 OnDisconnected 事件。提供的场景是客户端机器崩溃或进入休眠模式,因此用户关闭浏览器将是相同类型的结果。

关于c# - 如果用户离开网站,SignalR 是否会调用 OnDisconnected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20448460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com