社区
C#
帖子详情
请问怎样用C#在网站首页显示“今日网站访问量”的统计?急用!Thanks
huaidog
2003-08-23 04:49:00
各位同行、高手,我急需解决这个问题,在此向大家讨教:
怎样用C#在ASP.NET平台下实现网站首页显示“今日网站访问量”的统计的功能????
能否给一代码试试?谢了!
...全文
274
1
打赏
收藏
请问怎样用C#在网站首页显示“今日网站访问量”的统计?急用!Thanks
各位同行、高手,我急需解决这个问题,在此向大家讨教: 怎样用C#在ASP.NET平台下实现网站首页显示“今日网站访问量”的统计的功能???? 能否给一代码试试?谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pretender1982
2003-08-24
打赏
举报
回复
利用了ASP.NET的特点,结合global.asax文件,用Application和Session巧妙的实现在线用户的统计,由于程序中只用到一个Application,所以,程序占用系统资源几乎可以忽略不及,当然,这也是网站管理者最关心的问题之一。
一、用户显示页面的使用
首先,我们来看看怎样现实当前网站的访问用户数量,程序代码如下:
<%@ Page Language="c#" debug="true" %>
<html>
<head>
<SCRIPT LANGUAGE="c#" RUNAT="server">
private void Page_Load(object sender, System.EventArgs e)
{
Visitors.Text = "本站当前有: <b>" + Application["user_sessions"].ToString() + "" + "</b> 位访问者 !";
}
<title>在线用户</title>
</head>
<body>
<asp:label id="visitors" runat="server" /><br>
</body>
</html>
可以看出,以上的程序特别简单,就是调用Application。当然,我们不必要专门设计一个页面来显示在线用户数量,在网站的任何页面,我们都可以直接调用Application("user_sessions").ToString()来显示当前用户数量。
二、global.asax文件实现
global.asax文件的作用我们自不必说,现在,我们直接来看统计当前在线用户数量如何实现:
<script language="c#" runat="Server">
protected void Application_Start(Object sender, EventArgs e)
{
Application["user_sessions"] = 0;
}
protected void Session_Start(Object sender, EventArgs e)
{
Application.Lock();
Application["user_sessions"] = (int)Application["user_sessions"] + 1;
Application.Unlock();
}
protected void Session_End(Object sender, EventArgs e)
{
Application.Lock();
Application["user_sessions"] = (int)Application["user_sessions"] - 1;
Application.Unlock();
}
</script>
以上代码很容易理解,当网站开始服务的时候(Application开始的时候),程序设置Application["user_sessions"]为零,然后,当用户进入网站(Session开始的时候)的时候,锁定Application,然后,将application("user_sessions")加一,用户退出网站的时候,application("user_sessions")减一。这样,就很巧妙的实现了在线用户的统计。
三、一点讨论
以上的统计,简明扼要,程序很容易实现。但是,如果我们仔细考虑,发现该方法有一定的局限,统计出来的在线用户数量可能稍微有点误差。因为我们在以上程序中,是根据用户建立和退出会话(Session)来实现在线人数的加减的,而我们知道,如果用户没有关闭浏览器,而进入另外一个网站,那么,这个会话在一定的时间内是不会结束的,这个时间我们可以通过TimeOut来设置,一般的,我们设置为20分钟。所以,在用户数量统计上面,还是存在一点误差的。
另外,我们知道,在ASP中,如果用户将浏览器上面的Cookies设置为“禁用”,那么,Session就不能再被传递,显然,这样设置让以上的统计程序无能为力。不过,在ASP.NET中我们有解决方法,在config.web文件中,我们将<sessionstate cookieless="false" />设置为true就可以了,也就说,不使用Cookies也可以传递Session。这样,我们的程序就可以在不同的访问者环境中顺利运行。
c#
统计
在线人数与图表分析
网站
访问量
附说明书
本系统能即时
统计
访问
网站
的在线人数。以图像形式
显示
某年某月
访问量
,并以百分比形式
显示
在图像上。
狂热论坛企业版
C#
.NET
网站
访问
统计
系统(全源码)
C#
.NET+SQL,标准三层架构,企业版
网站
访问
统计
系统 用柱状图
显示
按日月两种口径
统计
的
网站
浏览量; 柱状图
显示
按照国内外地区分类的
网站
浏览量; 分析按源自不同搜索引擎和访问途径的浏览量; 详细记录
显示
每个访问者的详细信息; 最新数据库(2003年12月)记录了四万多条IP记录; 全源码提供,代码优化,数据库设计严格,耗费资源极少,功能强大,使用方便 首页调用WebInclude/AboutCunter/sitecounter.ascx控件即可实现所有功能 本站提供狂热论坛企业版
C#
.NET
网站
访问
统计
系统(全源码)免费下载,版权归其软件公司或原作者所有。如果你喜欢,请支持正版!
C#
访问OPC读取数据
C#
访问OPC读取数据 一般用于自动化编程
C#
高性能大容量SOCKET并发完成端口例子(有
C#
客户端)完整实例源码
例子主要包括SocketAsyncEventArgs通讯封装、服务端实现日志查看、SCOKET列表、上传、下载、远程文件流、吞吐量协议,用于测试SocketAsyncEventArgs的性能和压力,最大连接数支持65535个长连接,最高命令交互速度达到250MB/S(使用的是127.0.0.1的方式,相当于千兆网卡1Gb=125MB/S两倍的吞吐量)。服务端用
C#
编写,并使用log4net作为日志模块; 同时支持65536个连接,网络吞吐量可以达到400M。
C#
IP地址输入控件
C#
IP地址输入控件,一个IP控件,由
C#
语言编写,该IP控件很好的解决了关于MaskedTextBox
显示
IP的不足 ,你可以像调用一般控件那样来使用它,不用另外编写其它代码,非常方便。
C#
110,477
社区成员
642,563
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章