RSS订阅优然探索
你的位置:首页 » 技术文章 » 正文

Asp.Net定时执行计划2

选择字号: 超大 标准 发布时间:2009-9-29 20:53:3 | 作者:admin | 0个评论 | 人浏览


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;

namespace Web.inc
{
    public class Minitor
    {
        public  void Global_ExecuteTask(object sender, System.Timers.ElapsedEventArgs e)
        {
            //在这里编写需要定时执行的逻辑代码
            inc.Time_Task.i++;

            //需要删除数据的路径前缀
            string sPathT = "";

            sPathT = System.Configuration.ConfigurationManager.AppSettings["DelTmpPath"].ToString();
            //sPathT = HttpContext.Current.Server.MapPath("/admin/Download");
           
            DirectoryInfo dir = new DirectoryInfo(sPathT);

            if (!dir.Exists)
            {
                return;
            }
            //遍历这个目录的子目录
            foreach (DirectoryInfo Ditem in dir.GetDirectories())
            {
                //遍历子目录的文件
                foreach (FileInfo Fitem in Ditem.GetFiles())
                {
                    if (Fitem.Extension.ToLower() == ".txt")
                    {
                        //文本文件不删除,其他的都删除
                    }
                    else
                    {
                        //删除1小时之前的,因为1小时之内的可能需要使用
                        if (Fitem.CreationTime < DateTime.Now.AddHours(-1))
                        {
                            try
                            {
                                File.Delete(Fitem.FullName);
                            }
                            catch (Exception)
                            {

                            }
                        }
                   
                    }
                }
            }

        }

        /// <summary>
        /// 开始执行任务
        /// </summary>
        public  void StartExecuteTask()
        {
            if (!inc.Time_Task.state)
            {
                inc.Time_Task.Instance().ExecuteTask += new System.Timers.ElapsedEventHandler(Global_ExecuteTask);
                inc.Time_Task.Instance().Start();
            }
        }
        /// <summary>
        /// 结束执行任务
        /// </summary>
       
        public  void EndExecuteTask()
        {
            if (inc.Time_Task.state)
            {
                inc.Time_Task.Instance().Stop();
                inc.Time_Task.i = 1;
            }
        }
    }
}
 

标签:

猜你喜欢

发表评论

必填

选填

选填

必填,不填不让过哦,嘻嘻。

记住我,下次回复时不用重新输入个人信息

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。