社区
C#
帖子详情
请问怎样用C#在网站首页显示“今日网站访问量”的统计?急用!Thanks
huaidog
2003-08-23 04:49:00
各位同行、高手,我急需解决这个问题,在此向大家讨教:
怎样用C#在ASP.NET平台下实现网站首页显示“今日网站访问量”的统计的功能????
能否给一代码试试?谢了!
...全文
279
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#
高级网络编程(TouchSocket)
该课程总共分为两个大类。一个是从入门到精通的网络精讲篇,另一个是成熟网络通信框架TouchSocket的使用教学篇。对于第一大类,预计总共有6大章节内容。分别为
C#
语言入门基础(已完结)
C#
高级语言基础(持续更新)
C#
入门级网络编程(已完结)
C#
高级网络编程(持续更新)TouchSocket网络通信框架详解(未开始)项目实战(未开始) 对于第二大类,会教学目前TouchSocket的所有组件,包括以下内容。该部分内容是完全免费观看的。Tcp组件Udp组件Http组件Websocket组件Rpc组件WebApi组件XmlRpc组件JsonRpc组件等等。
C#
高级程序设计
为什么要学习
C#
?
C#
是微软的**语言,拥有接近20年的历史和广泛的应用。目前国内对
C#
的书籍和视频相对较少,但
C#
和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,
C#
的开源,.NET Core社区的蓬勃发展,以及.NET开发岗位需求的不断增加。
C#
用途广泛,容易上手。可以说,如果你熟悉
C#
语言,你将不愁找不到好的工作。 本课程分为四部分(三层架构、设计模式、多线程、网络编程达人),详细的讲述了一名
C#
中、高级程序员需要学习的各项知识,其中宿舍管理系统实战是重中之重。课程主要特点: 1. 紧跟微软
C#
发展,使用
C#
语言和开发环境版本2. 结合应用案例,力求做到深入浅出,明白易懂3. 重要概念附有英文翻译4. 独家附赠一个面试经验分享,希望每位学生都可以从中受益,在面试中脱颖而出5.含宿舍管理系统的讲解希望本套课程在你学习
C#
的过程中,可以对你有所帮助。
C#
程序设计与宿舍管理系统实战
为什么要学习
C#
?
C#
是微软的王牌语言,拥有接近20年的历史和广泛的应用。目前国内对
C#
的书籍和视频相对较少,但
C#
和.NET的发展前程是十分光明的,这体现在微软公司本身强劲的实力,
C#
的开源,.NET Core社区的蓬勃发展,以及.NET开发岗位需求的不断增加。
C#
用途广泛,容易上手。可以说,如果你熟悉
C#
语言,你将不愁找不到好的工作。 本课程详细的讲述了一名
C#
初级程序员需要掌握的各项知识,其中基础和面向对象是重中之重。课程主要特点: 1. 紧跟
C#
发展,使用**语言和开发环境版本。2. 结合应用案例,力求做到深入浅出,明白易懂通过本课的学习,使学生掌握
C#
语言的语法知识,理解和掌握面向对象程序设计的思想和方法,能熟练使用Visual Studio集成开发环境编写、调试和测试控制台应用软件、Winform应用软件;运用ADO.NET开发数据库应用程序,具有面向对象程序设计、分析和调试能力。 希望本套课程在你学习
C#
的过程中,可以对你有所帮助。
C#
零基础入门课程
零基础
C#
入门课程旨在帮助编程小白从零开始掌握
C#
语言的基础知识和编程技能。课程主要包括以下几个方面:
C#
语言简介与开发环境搭建:介绍
C#
语言的特点、应用场景和优势,并教授如何搭建
C#
开发环境,选择和使用常用工具。
C#
基础语法:详细讲解
C#
的基本语法规则和代码结构,包括变量和数据类型的声明和使用、运算符的种类和应用、控制语句的编写等。面向对象编程:深入介绍面向对象编程的基本概念,如类、对象、继承、多态、封装和抽象等,并教授如何定义类和创建对象。常用类库和框架:介绍.NET Framework的强大功能和各种类库,以及如何在
C#
编程中利用这些类库和框架提升编程效率。此外,课程还会提供一些实践项目,让学员通过实际操作来巩固所学知识,提高编程能力。总之,零基础
C#
入门课程是一门全面、系统的
C#
编程入门教程,适合对
C#
编程感兴趣的初学者学习。通过本课程的学习,学员将掌握
C#
编程的基本知识和技能,为后续的进阶学习和项目开发打下坚实的基础。
用
C#
实现工控上位机
结合Github高星开源项目SharpSCADA讲解工控上位机开发,重视基础,突出实战,为广大工控从业者、编程爱好者提供一种新颖的解决方案,可以快速搭建强大易用可扩展的工控上位机,并在此开源项目基础上开发工业大数据和MES系统,定制个性化的工业自动化行业解决方案。在学习过程中,可加深对
C#
语言和.NET平台的理解,进一步了解工业以太网协议,熟练对WPF技术的应用,透析组态软件的架构。
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章