zoukankan      html  css  js  c++  java
  • 通过在Global.asax文件中配置Application来统计的方法

    这是通过在Global.asax文件中配置Application来统计的方法......


    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Web;
    using System.Web.SessionState;
    using System.IO ;

    namespace movie
    {
    /// <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)
       {
                 Application["conn"]="Server=localhost;database=movie;uid=sa;pwd='zcc';";
        Application["user_sessions"] = 0;
        Application["counter_num"]=0;


        uint count=0;
        StreamReader srd;
        //取得文件的实际路径
        string file_path=Server.MapPath ("counter.txt");
        //打开文件进行读取
        srd=File.OpenText (file_path);
        while(srd.Peek ()!=-1)
        {
         string str=srd.ReadLine ();
         count=UInt32.Parse (str);
        }
        object obj=count;
        Application["counter"]=obj;
        srd.Close ();

       }

       protected void Session_Start(Object sender, EventArgs e)
       {
        Application.Lock();
        Application["user_sessions"] = (int)Application["user_sessions"] + 1;
        Application.UnLock();

        Application.Lock ();
        //数值累加,注意这里使用了装箱(boxing)
        uint jishu=0;
        jishu=(uint)Application["counter"];
        jishu=jishu+1;
        object obj=jishu;
        Application["counter"]=obj;
        //将数据记录写入文件
        string file_path=Server.MapPath ("counter.txt");
        StreamWriter fs=new StreamWriter(file_path,false);
        fs.WriteLine (jishu);
        fs.Close ();
        Application.UnLock ();


       }

       protected void Application_BeginRequest(Object sender, EventArgs e)
       {

    //    Application.Lock();
    //    Application["counter_num"]=(int)Application["counter_num"]+1;
    //    Application.UnLock();

       }

       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["user_sessions"] = (int)Application["user_sessions"] - 1;
        Application.UnLock();

       }

       protected void Application_End(Object sender, EventArgs e)
       {

        uint js=0;
        js=(uint)Application["counter"];
        //object obj=js;
        //Application["counter"]=js;
        //将数据记录写入文件
        string file_path=Server.MapPath ("counter.txt");
        StreamWriter fs=new StreamWriter(file_path,false);
        fs.WriteLine(js);
        fs.Close ();


       }
      
       #region Web 窗体设计器生成的代码
       /// <summary>
       /// 设计器支持所需的方法 - 不要使用代码编辑器修改
       /// 此方法的内容。
       /// </summary>
       private void InitializeComponent()
       {   
        this.components = new System.ComponentModel.Container();
       }
       #endregion
    }
    }

  • 相关阅读:
    fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
    cvWaitKey 如果 cvNamedWindow就不会起作用
    Java 并发基础
    简化Getter 与 Setter 的插件 Lombok
    20、状态模式
    mybatis-generator 覆盖新增XML
    Jvm 虚拟机
    18、备忘录设计模式
    16、 观察者设计模式
    08、仲载者 -中间者模式
  • 原文地址:https://www.cnblogs.com/kenryuu/p/1629478.html
Copyright © 2011-2022 走看看