Bootstrap

asp.net 中使用计数器

<%@ Application Language="C#" %>

<script runat="server">

    public System.Timers.Timer timer;
   
    void Application_Start(object sender, EventArgs e)
    {
        // 在应用程序启动时运行的代码
       
        //1分钟为一个循环单位
        timer = new System.Timers.Timer(10000);//60000
        //动态添加timer的事件
        timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
        timer.AutoReset = true; //如果为假只循环一次
        timer.Enabled = true;  //打开计数器

        Application.Lock();
        Application["TimeStamp"] = "1";
        Application.UnLock();


    }

    private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
        Application.Lock();
        int min = Convert.ToInt16(Application["TimeStamp"]) + 1;

        Application["TimeStamp"] = min.ToString();
        Application.UnLock();

        if (min == 500)
        {//时间到
            timer.Enabled = false;


        }
       
       

    }
   
    void Application_End(object sender, EventArgs e)
    {
        //  在应用程序关闭时运行的代码
        timer.Dispose();

    }
       
    void Application_Error(object sender, EventArgs e)
    {
        // 在出现未处理的错误时运行的代码

    }

    void Session_Start(object sender, EventArgs e)
    {
        // 在新会话启动时运行的代码

    }

    void Session_End(object sender, EventArgs e)
    {
        // 在会话结束时运行的代码。
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
        // 或 SQLServer,则不会引发该事件。

    }
      
</script>

;