zoukankan      html  css  js  c++  java
  • [转]用Global统计在线人数

    global.asax.as
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Web;
    using System.Web.SessionState;
    using System.Data.SqlClient;
    namespace login
    {
        /// <summary>
        /// Global 的摘要说明。
        /// </summary>
        public class Global : System.Web.HttpApplication
        {
            /// <summary>
            /// 必需的设计器变量。
            /// </summary>
            private System.ComponentModel.IContainer components = null;
            public Global()
            {
                InitializeComponent();
            }   
            protected void Application_Start(Object sender, EventArgs e)//开始
            {//连接数据库
                SqlConnection con=new  SqlConnection("server=(local);database=test;uid=sa;pwd=;");
                con.Open();
                SqlCommand cmd=new SqlCommand("select *from count",con);
                int  count=Convert.ToInt32(cmd.ExecuteScalar());//返回首行首列
                            Application.Add("totol",count);//赋初值
                Application.Add("online",0);
            }
            protected void Session_Start(Object sender, EventArgs e)
            { // Session.Timeout=1;  //设定过期时间 一般不用设置  
               Application.Lock();//关闭会话 解决同时发生的情况
                      Application["totol"]=(int)Application["totol"]+1;//总的访问量加一
              Application["online"]=(int)Application["online"]+1;//当前在线人数加一
                      Application.UnLock();
            }
            protected void Application_BeginRequest(Object sender, EventArgs e)
            {
            }
            protected void Application_EndRequest(Object sender, EventArgs e)
            {
            }
            protected void Application_AuthenticateRequest(Object sender, EventArgs e)
            {
            }
            protected void Application_Error(Object sender, EventArgs e)
            {
            }
            protected 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("server=(local);database=test;uid=sa;pwd=;");
                    con.Open();
                    SqlCommand cmd=new SqlCommand("update count set num="+Application["totol"].ToString(),con);//把当前totol 的值更新到数据库上
                    cmd.ExecuteNonQuery();//开始执行更新
                    con.Close();//关闭
            }
            #region Web 窗体设计器生成的代码
            /// <summary>
            /// 设计器支持所需的方法 - 不要使用代码编辑器修改
            /// 此方法的内容。
            /// </summary>
            private void InitializeComponent()
            {   
                this.components = new System.ComponentModel.Container();
            }
            #endregion
        }
    }
    显示流量页面:
        private void Page_Load(object sender, System.EventArgs e)
            {
                this.lbltotol.Text=Application["totol"].ToString(); //把totol的值赋给lbltotol并显示出来
                this.lblonline.Text=Application["online"].ToString();//把online当前在线的值赋给lblonline并显示出来
                // 在此处放置用户代码以初始化页面
            }

  • 相关阅读:
    Silverlight 5 系列学习之一
    WPF中数据绑定问题
    细说ASP.NET Forms身份认证 别人写的不过很透彻就转来了以后用时再看
    再学IHanlder 类----------------关于Asp.net与iis原理网上看博客收获写一个验证码用一般处理程序记的好长时间前就写过不过现在再看有点不一样的感觉
    Oracle常用查看表结构命令
    尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。(遇到了这个问题网上查了下保存下来)
    TxetBox PasswordChar 模式解除
    屏幕抖动一 下
    oracle 日期问题 网上找到自己查阅时方便
    day5-Dns
  • 原文地址:https://www.cnblogs.com/mahaisong/p/1992876.html
Copyright © 2011-2022 走看看