Asp.Net实现记录历史访问人数和当前在线人数

************************************在Global.asax中如下************************

<%@ Import Namespace="System.Data.SqlClient" %>
起始:

void Application_Start(Object sender, EventArgs e)//当前应用程序启动这件事会发生
        {

      //SqlConnection con = new SqlConnection();

     //con.ConnectionString = ConfigurationManager.ConnectionStrings["TongJiConnectionString"].ConnectionString;

            SqlConnection con=new SqlConnection("server=.;database=countPeople;uid=sa;pwd=;");
            con.Open();
            SqlCommand cmd=new SqlCommand("select * from countPeople",con);
            int count=Convert.ToInt32(cmd.ExecuteScalar());
            con.Close();
            Application["total"]=count;//Application是个全局变量,每个会话都可对他操作
            Application["online"]=0;
            

        }
 
        protected void Session_Start(Object sender, EventArgs e)//客户端一连接到服务器上,这个事件就会发生
        {
            Session.Timeout=1;
            Application.Lock();//锁定后,只有这个Session能够会话
            Application["total"]=(int)Application["total"]+1;
            Application["online"]=(int)Application["online"]+1;
            Application.UnLock();//会话完毕后解锁

        }

结尾:

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

        }

        protected void Application_End(Object sender, EventArgs e)
        {

        //SqlConnection con = new SqlConnection();

        //con.ConnectionString = ConfigurationManager.ConnectionStrings["TongJiConnectionString"].ConnectionString;

            SqlConnection con=new SqlConnection("server=.;database=countPeople;uid=sa;pwd=;");
            con.Open();
            SqlCommand cmd=new SqlCommand("update countPeople set num="+Application["total"],con);
            cmd.ExecuteNonQuery();
            con.Close();

        }

*****************************************在Aspx文件中如下*********************************

void Page_Load(object sender, System.EventArgs e)
        {
            this.lblTotal.Text=Application["total"].ToString();
            this.lblOnline.Text=Application["online"].ToString();
            // 在此处放置用户代码以初始化页面
        }

分类: ASP.NET

时间: 2024-10-03 22:38:53

Asp.Net实现记录历史访问人数和当前在线人数的相关文章

【ASP.NET】——统计在线人数、历史访问人数

北大青鸟的视频中讲了很多很实用的例子,这是其中一个,在实现的过程中,遇到一些问题,但也都在老师的指导下和通过查阅资料解决了,感觉收获颇丰. 在做这个例子的时候发现:ASP.NET的Application和Session统计在线人数和历史访问人数时不准.明明已经关闭浏览器了,在线人数却没少,重新登录,历史人数也没增加.难道是我做错了,No.原因在这里. 首先,先简单说一下Application和Session. Application:应用程序类的对象.类比到这个程序,服务器端的统计人数程序就相当

Application对象——记录历史访问

1.Application 程序级变量将多个会话和请求之间的全局信息共享. 常用方法Add()    Lock()   UnLock() 例子:显示历史访问人数和在线人数 Globl.aspx中代码 <span style="font-size:18px;"> protected void Application_Start(object sender, EventArgs e) //设置一个全局变量,实现用户共享 { //Application["count&q

C#统计网站访问总人数和当前在线人数 Application

一.打开vitualstudio2010,新建一个网站,然后添加新项,新建一个login.aspx和index.aspx页面.再添加新项,选择全局应用程序类,该页面为Global.asax. 第一步:打开Global.asax页面,在Application_start()方法下写入以下代码: Application.Lock(); Application["count"]=0; //Application.Set("count",0) /Application.Ad

使用Application对象简单完成网站总访问人数的统计

  Global.asax文件: using System.IO; protected void Application_Start(object sender, EventArgs e) { FileStream fs = File.Open(Server.MapPath("counter.txt"),FileMode.OpenOrCreate); StreamReader sr = new StreamReader(fs); Application["count"

ASP.NETCore学习记录(一)

ASP.NETCore学习记录(一) asp.net core介绍  Startup.cs  ConfigureServices  Configure 0. ASP.NETCore 介绍 ASP.NETCore是一个新的开源和跨平台的框架,用于构建如Web应用.物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序.ASP.NET Core应用可运行于.NET Core和完整的.NET Framework之上.构建它的目的是为那些部署在云端或者内部运行的应用提 供一个优化的开发框

设置记录历史命令的条数

在~/.bash_profile里面添加 export HISTSIZE=1000 From: http://bbs.chinaunix.net/thread-3612167-1-1.html 设置记录历史命令的条数,布布扣,bubuko.com

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限

开发了一个导入TXT文件的功能,执行过程中出错.提示:.....ASP.NET 未被授权访问所请求的资源.请考虑授予 ASP.NET 请求标识访问此资源的权限.ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务).如果应用程序正在通过 <identity sonate="true"/> 模拟,则标识将为匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户

如何计算每天的平均反复访问人数

<% startdate=DateDiff("d",Now,"01/01/1990") if strdate<0 then startdate=startdate*-1 avgvpd=Int((usercnt)/startdate) %> 显示结果 <% response.write(avgvpd) %> that is it.this page have been viewed since November 10,1998 如何计算每

博客园添加访问人数统计

无意中看到有这个访问量的统计,觉得挺好玩的,我们现在就来添加一个吧: 1. 先到http://www.amazingcounters.com/sign-up.php   这个地址去申请一个帐户,申请时填写好自己的资料,比如 你的统计风格样式.要统计的地址.要统计的类型,是浏览量(PV) 还是 访客数(UV),或者你也可以2个都统计:这些统计数据都是可以任意修改的哟,不过我们最好还是以真实的访问量为主吧: 2. 在上述网站的"Get HTML Code See Statistics"菜单