• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
ARCGIS830208
博客园    首页    新随笔    联系   管理    订阅  订阅

ASP.net对在线人数和网站的访问人数进行统计

首先要对Golbal.asax要有一定的了解,

先添加一个Golbal.asax,然后再编写其代码

 

1.编写Application_Start事件:

{

//在应用程序启动时应用该代码

   OleDbConnection con=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:/db1.mdb");
      
      OleDbCommand cmd=new OleDbCommand ("select * from tongji",con);
            con.Open();
      int count=Convert.ToInt32(cmd.ExecuteScalar());
      con.Close();
      Application["total"]=count;//Application是个全局变量,每个会话都可对他操作
      Application["online"]=0;

}

2.编写在应用程序结束时的代码

{

//  在应用程序关闭时运行的代码
        OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:/db1.mdb");
      
      OleDbCommand cmd=new OleDbCommand("updata number set num="+Application["total"],con);
      con.Open();
      cmd.ExecuteNonQuery();
      con.Close();

}

3.编写有新会话时的代码

{


        // 在新会话启动时运行的代码


        Session.Timeout = 1;
        Application.Lock();//锁定后,只有这个Session能够会话
        Application["total"] = (int)Application["total"] + 1;
        Application["online"] = (int)Application["online"] + 1;
        Application.UnLock();//会话完毕后解锁

}

 

4.编写组回话结束时的代码

{

 // 在会话结束时运行的代码。
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
        // 或 SQLServer,则不会引发该事件。
        Application.Lock();
      Application["online"]=(int)Application["online"]-1;
        Application.UnLock();

}

 

这样Global.asax中的代码就完成了,接下来就是如何把统计到的信息显示出来;

在Default.aspx中添加2个Label,然后在Default.aspx.cs中的Page_Load中添加如下代码:

 this.Label15.Text = Application["Total"].ToString();
        this.Label16.Text = Application["online"].ToString();

这样在线人数和网站统计人数就搞好了~

posted @ 2008-11-05 17:44  吹过你的风  阅读(1239)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3