实现在线人数统计
2009-07-24 22:05
281 查看
在解决方案资源管理器中添加新项,Global.asax,其中代码如下:
<%@ Application Language="C#" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
Application["count"] = 0;
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Session.Timeout = 1;//超时时间
Application.Lock();
Application["count"] = (int)Application["count"]+1;
Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
//Session.Abandon();
Application.Lock();
Application["count"] = (int)Application["count"] - 1;
Application.Lock();
}
</script>
在首页面写入以下:
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("当前在线人数:"+Application["count"].ToString());
}
这种方法不是很准确,因为它有一个超时时间,这里设置的是一分钟,也就是说一分钟后才会将对话关闭,触发Session_End事件,而VS2005中,一般默认是20分钟,可以通过设置Session.Timeout = 1;//超时时间来改变,最小是一分钟.
<%@ Application Language="C#" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
Application["count"] = 0;
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Session.Timeout = 1;//超时时间
Application.Lock();
Application["count"] = (int)Application["count"]+1;
Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
//Session.Abandon();
Application.Lock();
Application["count"] = (int)Application["count"] - 1;
Application.Lock();
}
</script>
在首页面写入以下:
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("当前在线人数:"+Application["count"].ToString());
}
这种方法不是很准确,因为它有一个超时时间,这里设置的是一分钟,也就是说一分钟后才会将对话关闭,触发Session_End事件,而VS2005中,一般默认是20分钟,可以通过设置Session.Timeout = 1;//超时时间来改变,最小是一分钟.
相关文章推荐
- jsp+servlet+java 实现统计在线人数
- php session实现同时在线人数统计
- ASP.net 实现在线统计人数
- 利用监听器实现网站在线人数统计
- .net实现在线人数统计
- Servlet监听器简介与实现在线人数统计
- java 实现统计在线人数
- Servlet中实现用servletContext对象统计网站在线人数
- jsp 实现在线人数统计
- 使用java 监听器实现在线人数统计
- 利用监听器实现在线人数统计
- PHP实现统计在线人数功能示例
- 使用监听器实现一个统计网站在线人数的示例
- ASP.net 实现在线统计人数
- php文件实现在线人数统计
- jsp实用两例:用filter解决汉字编码及禁止页面缓存 和 用listener实现在线人数统计
- 利用servlet监听器实现jsp中在线人数统计的方法
- 利用文件属性结合Session实现在线人数统计
- 监听器(实现在线统计人数,踢人)
- 监听器--ServletRequestListener接口实现统计在线人数