gpt4 book ai didi

asp.net - 使用asp.net统计在线用户数

转载 作者:行者123 更新时间:2023-12-02 21:24:43 25 4
gpt4 key购买 nike

我要创建一个网站,我需要统计在线用户数并始终将其显示在主页上。我不感兴趣为其应用现成的模块。这是我已经完成的操作:

将 Global.asax 文件添加到我的项目

在 Global.asax 文件中写入以下代码片段:

void Application_Start(object sender, EventArgs e) 
{
Application["OnlineUsers"] = 0;
}

void Session_Start(object sender, EventArgs e)
{
Application.Lock();
Application["OnlineUsers"] = (int)Application["OnlineUsers"] + 1;
Application.UnLock();
}

void Session_End(object sender, EventArgs e)
{
Application.Lock();
Application["OnlineUsers"] = (int)Application["OnlineUsers"] - 1;
Application.UnLock();
}

实际上它工作得很好,但我发现了以下错误: --> 即使用户关闭浏览器,也不会显示真实的在线用户数 因为 session 超时仍然有效!

除了更改 session 超时间隔之外,还有其他解决方案吗?

最佳答案

当服务器端 session 超时时,即(默认)最后一个请求处理完 20 分钟后,将触发 Session_End 事件。服务器不知道用户何时“离开”或“关闭浏览器”,因此无法对此采取行动。

关于asp.net - 使用asp.net统计在线用户数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10481351/

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