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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。