8 24 81

.Net core 使用TimeJob

在我以前的文章中有一个.Net core使用Quartz.Net ,一开始我们的设想就是定时操作数据库,所以有很多实现方法,后来发现TimeJob可以同样实现我们的需求,而且更简便。

所以我们就使用了TimeJob,这是TimeJob教程:http://www.1234.sh/post/pomelo-extensions-timed-jobs?tdsourcetag=s_pcqq_aiomsg

其实使用TimeJob非常简单,当然TimeJob不是官方包,所以我们先引入这个包:Pomelo.AspNetCore.TimedJob

引入成功之后呢,我们在startup类中的ConfigureServices方法中添加:

 services.AddTimedJob();

然后在configure方法中添加:

  app.UseTimedJob();

添加完之后,建立TimeJob类,记得继承Job类:

using Pomelo.AspNetCore.TimedJob;

namespace Demo.Unit
{
    public class TestJob:Job
    {
        [Invoke(Begin = "2018-11-2 11:30", Interval = 20)]
        public void Test(IServiceProvider service)
        {
            string path = @"C:\Users\win 10\Desktop\1.txt";
            string value = DateTime.Now.ToString();
            if (File.Exists(path))
            {
                File.Delete(path);
            }
            StreamWriter streamWriter = new StreamWriter(path, true);
            streamWriter.WriteLine(value);
            streamWriter.Flush();
            streamWriter.Close();

            GC.Collect();
        }
    }
}

这里要注意的是要引入

Pomelo.AspNetCore.TimedJob;

然后这里的test方法就是定时执行的方法,begin就是开始时间,然后后面的参数就是多少秒执行一次,也就是间隔时间。

要注意最后要GC.Collect(); 非常简单就可以实现定时任务了。


posted @ 2018-11-05 16:18  Ivan_Ivan  阅读(3142)  评论(6编辑  收藏  举报