asp.net简单定时任务实现

代码如下:

    public class TimeTask
    {
        #region 单例

        private static TimeTask _task = null;

        public static TimeTask Instance
        {
            get
            {
                if (_task == null)
                {
                    _task = new TimeTask();
                }
                return _task;
            }
        }

        #endregion

        //事件
        public event System.Timers.ElapsedEventHandler ExecuteTask;

        //时间对象
        private System.Timers.Timer _timer = null;

        //定义时间间隔
        private int _interval = 1000;//默认1秒钟
        public int Interval
        {
            set
            {
                _interval = value;
            }
            get
            {
                return _interval;
            }
        }

        //开始
        public void Start()
        {
            if (_timer == null)
            {
                _timer = new System.Timers.Timer(_interval);
                _timer.Elapsed += new System.Timers.ElapsedEventHandler(_timerElapsed);
                _timer.Enabled = true;
                _timer.Start();
            }
        }

        //委托方法,映射到传入的值
        protected void _timerElapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            if (null != ExecuteTask)
            {
                ExecuteTask(sender, e);
            }
        }

        //停止
        public void Stop()
        {
            if (_timer != null)
            {
                _timer.Stop();
                _timer.Dispose();
                _timer = null;
            }
        }

    }

调用方式,在Global.asax中,代码如下:

     protected void Application_Start(object sender, EventArgs e)
        {
            // 在应用程序启动时运行的代码
            TimeTask.Instance.ExecuteTask += new System.Timers.ElapsedEventHandler(TimeExecuteTask);
            TimeTask.Instance.Interval = 1000 * 10;//时间间隔,10秒钟
            TimeTask.Instance.Start();
        }

        void TimeExecuteTask(object sender, System.Timers.ElapsedEventArgs e)
        {
            //在这里编写需要定时执行的逻辑代码
            System.Diagnostics.Debug.WriteLine("定时任务执行" + DateTime.Now);
        }

说明:由于IIS会进行回收,所以还需要在IIS的线程池上配置不让其回收。如下:

回收:

固定时间间隔(分钟) 改为 0

虚拟/专用内存限制(KB) 改为 0

进程模型:

闲置超时(分钟) 改为 0

时间: 2024-10-06 22:28:41

asp.net简单定时任务实现的相关文章

asp.net_01 简单介绍

1.静态网页和动态网页 刚开始一直概念很模糊,分不清,今天晚上看视频,查资料终于弄明白点儿了.静态网页和动态网页的区别可以说是使用语言的区别. 静态网页:使用语言—html,不包含服务器运行代码;没有数据库,数据量大时,制作和维护困难:访问速度快:内容稳定,容易被搜索引擎检索:不含程序,不可交互,适合更新较少的展示型网站. 动态网页:使用语言--以超文本标记语言(html)为主,结合其他服务器端语言:有数据库,方便维护:访问速度慢:不容易被搜索引擎检索:交互性强.动态网页首先获得用户的指令,然后

用ASP实现简单的繁简转换

国际化似乎是一个非常流行的口号了,一个网站没有英文版至少也要弄个繁体版,毕竟都是汉字,翻译起来不会那么麻烦:P 一般的繁简转换是使用字典,通过GB的内码算出BIG5字符在字典中的位置,读取显示之,用fso应该可以实现.这里介绍的方法思路更简单一些,用Dictionary对象,就是字典,呵呵,dicGb2Big5(gb)就是对应的BIG5.比起计算内码再按照位置读取字符简单的多吧:) 为了减少开销,把字典放在Application中,即在global.asa中建立两个application的字典对

asp.net简单读取xml文件信息

xml文件格式如下:     <?xml   version="1.0"   encoding="utf-8"?>         <userdata   createuser="false">         <dataconnection>             <server>localhost</server>             <uid>sa</uid

asp.net简单3层数据库连接读取操作

简单的只有DAL,MODEL和web UserDAL是读取数据库,和把读取的结果集,转化成泛型: using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Reflection; using System.Text; namespace Andu.DAL { public class UserDAL

Spring的简单定时任务的实现

搭建最简单的Spring定时任务工程: 1.把Spring通过web.xml注册进来: 1 <!-- 加载spring容器 --> 2 <context-param> 3 <param-name>contextConfigLocation</param-name> 4 <param-value>/WEB-INF/classes/spring/applicationContext-*.xml</param-value> 5 </c

在Spring项目中使用@Scheduled注解定义简单定时任务

如题所示,有时候我们需要在Web项目中配置简单的定时任务,而且因为任务并不复杂不想使用定时调度框架(PS:Quartz.ActiveMQ .Kafka等),这时就可以考虑使用@Scheduled注解来定义简单的定时任务.其全部配置如下: (1)在Spring的配置文件中添加定时任务相关配置: xml配置的头文件中添加: xmlns:task="http://www.springframework.org/schema/task" 以及在xsi:schemaLocation中添加: ht

关于asp.net简单的下载问题

    asp.net中的一个简单的下载,只需将文件路径引入就能实现下载, 比如一个本地文件 <a href="file:/C:/苍老师.jpg"></a> 网页上的下载也是如此 http://w.x.baidu.com/alading/anquan_soft_down_normal/12350 今天下载碰到一个问题,找不到服务器上的web路径,但是从服务器上知道了文件的绝对路径 于是新建了一个页面上传到服务器,点击下载跳转到该页面,在页面上获取到本地文件就能进

ASP.NET简单SQL分页的实现

今天是出来实习的第32天,在学校学的像是囫囵吞枣一样,什么都是马马虎虎的,而分页这样的需要逻辑的像我这样的懒人喜欢用插件,仔细捉摸了下也不好,所以就花一点时间研究了下分页, 今天就来说说简单的SQL语句分页在ASP.NET的实现 SQL语句怎么写? 因为要写的是简单SQL语句实现分页所以SQL自然就不会很难啦! 1.IN NOT IN写法 效率低 --IN 和 NOT IN,效率较低 --这条语句的意思是查询五条数据不在前十条里的数据 SELECT TOP 5 * FROM TableName

asp.net264简单汽车小程序

转载于我帮你毕业设计 有需要的可以加Q 97095639 文章在www.hongtaibysj.com 上看到,想查看详细的可以自己去查阅 一.技术实现: 开发语言: asp.net, 框架: mvc ,模式:B/S 数据库 : sqlserver , 开发工具: vs sqlserver . 论文字数:1万左右. 二.功能实现: 三.系统截图