iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#定时器组件FluentScheduler用法
  • 226
分享到

C#定时器组件FluentScheduler用法

2024-04-02 19:04:59 226人浏览 独家记忆
摘要

一、定时任务调度的方法或者组件: 任务定时器–FluentScheduler组件可以在C#和asp.net程序中使用,使用方法很简单,官方有使用案例: FluentSch

一、定时任务调度的方法或者组件:

任务定时器–FluentScheduler组件可以在C#asp.net程序中使用,使用方法很简单,官方有使用案例:

FluentScheduler 中 对象: IJob(工作)、ReGIStry(注册)、Schedule(计划)

二、实例

项目需要一个按时执行的任务,每隔几分钟执行一个,或者每隔几小时执行一次等等,这个时候就需要一个定时的功能,最简单的就是用Timer自己写一个,但是自己写的性能等各方面有可能不健全等等,而现在开源的库也越来越多,功能也越来越好,直接拿来主义。

1.NuGet下载FluentScheduler控件

FluentScheduler定时任务库,通过nuget引用,可以设置各种事件间隔,,超级方便简单。

2.编写一个注册表。继承Registry类

using FluentScheduler;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NetFrameTest.test
{
    public class MyRegistry : Registry
    {
        public MyRegistry()
        {
            // 每天执行一次(这里是在每天的下午 15:40 分执行),可以不用类,直接虚拟方法
            Schedule(() => Console.WriteLine("It's 15:42  now.")).ToRunEvery(1).Days().At(15, 42);

            // 每两秒执行一次(指定一个时间间隔运行,根据自己需求,可以是秒、分、时、天、月、年等。)
            Schedule<MyJob>().ToRunNow().AndEvery(2).Seconds();

            // 每五秒执行一次(延迟一个指定时间间隔执行一次计划任务)
            Schedule<MyJob>().ToRunOnceIn(5).Seconds();

            // 每月执行一次(这里是在每月的第一周的周一3点执行)
            Schedule<MyJob>().ToRunNow().AndEvery(1).Months().OnTheLast(DayOfWeek.Friday).At(16, 0);

            // 构造函数执行
            Schedule(() => new MyOtherJob("Foo")).ToRunNow().AndEvery(2).Seconds();

            // 先执行第一个Job、再执行第二个Job;完成后等5秒继续循环
            Schedule<MyJob>().AndThen<MyOtherJob>().ToRunNow().AndEvery(5).Minutes();
        }

    }

}

3.编写定时执行任务,工作类

根据使用方法,是否实现IJob接口

    public class MyJob : IJob
    {
        public void Execute()
        {
            Console.WriteLine($"MyJob  当前时间:{DateTime.Now}");
        }
    }

    public class MyOtherJob : IJob
    {
        private string Name;
        public MyOtherJob(string name)
        {
            Name = name;
        }

        public void Execute()
        {
            Console.WriteLine($"MyOtherJob 姓名:{Name}  当前时间:{DateTime.Now}");
        }
    }

4.初始化定时器

定时任务写好之后只需要在Main中引用就可以了

//  static void Main(string[] args)
JobManager.Initialize(new MyRegistry());

在ASP.net程序的Global.asax文件中,首先初始化管理器,这样定时器就开启了。

protected void Application_Start()
{
    JobManager.Initialize(new MyRegistry());
}

以上是第一种写法,下面介绍第二种写法,这里执行多个任务 不同时间段

protected void Application_Start()
{
    JobManager.AddJob<MyJob>(t=>t.ToRunEvery(1).Days().At(24,00));//每天的凌晨12点 执行 
    JobManager.AddJob<MyOtherJob>(t => t.ToRunEvery(1).Months().OnTheLastDay().At(8,30));//每个月的最后一天早上八点半 执行
    JobManager.Start();//启动任务管理器
}

到此这篇关于C#定时器插件FluentScheduler的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#定时器组件FluentScheduler用法

本文链接: https://www.lsjlt.com/news/150960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#定时器组件FluentScheduler用法
    一、定时任务调度的方法或者组件: 任务定时器–FluentScheduler组件可以在C#和ASP.NET程序中使用,使用方法很简单,官方有使用案例: FluentSch...
    99+
    2024-04-02
  • C#中的三种定时计时器Timer用法介绍
    在.NET中有三种计时器: 1、System.Windows.Forms命名空间下的Timer控件,它直接继承自Componet。Timer控件只有绑定了Tick事件和设置Enabl...
    99+
    2024-04-02
  • C# Quartzs定时器的使用方法是什么
    这篇文章主要介绍“C# Quartzs定时器的使用方法是什么”,在日常操作中,相信很多人在C# Quartzs定时器的使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#&nb...
    99+
    2023-06-21
  • angular2组件中定时刷新并清除定时器的示例分析
    这篇文章主要为大家展示了“angular2组件中定时刷新并清除定时器的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“angular2组件中定时刷新并清除...
    99+
    2024-04-02
  • C/C++ Qt TableDelegate 自定义代理组件使用详解
    TableDelegate 自定义代理组件的主要作用是对原有表格进行调整,例如默认情况下Table中的缺省代理就是一个编辑框,我们只能够在编辑框内输入数据,而有时我们想选择数据而不是...
    99+
    2024-04-02
  • C#Quartzs定时器的使用教程
    目录前言实现步骤前言 首先想到倒计时,定时任务。大家想到的肯定就是定时器。那么定时器在web和winfrom程序中有着很大的作用。那在服务器端有没有像定时器一样的存在呢。 有了这些需...
    99+
    2024-04-02
  • vue3封装计时器组件的方法
    背景 在一些商城类网页中打开商品详情都会有一个计数器来选择购买的数量,这样的计时器不仅会在商品详情页面显示还会在购物车里面有,那就可以把计时器封装成组件,以便于更好的复用以及后期维护...
    99+
    2024-04-02
  • C#中多种高效定时器方法怎么使用
    这篇文章主要讲解了“C#中多种高效定时器方法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中多种高效定时器方法怎么使用”吧!在 C# 中,定时器是一种常用的机制,可以周期性地执行...
    99+
    2023-07-05
  • c#线程定时器System.Threading.Timer的使用
    System.Threading.Timer 是由线程池调用的。 所有的Timer对象只使用了一个线程来管理。这个线程知道下一个Timer对象在什么时候到期。下一个Timer对象到期...
    99+
    2023-02-06
    c# 线程定时器 System.Threading.Timer c# 线程定时器 c# System.Threading.Timer
  • C/C++ Qt数据库与TreeView组件绑定的方法是什么
    本篇内容主要讲解“C/C++ Qt数据库与TreeView组件绑定的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C/C++ Qt数据库与TreeView组件绑定的...
    99+
    2023-06-21
  • C++和C#相互调用COM组件的方法
    本篇内容介绍了“C++和C#相互调用COM组件的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前一阵在工作中做项目的时候,遇到了COM组...
    99+
    2023-06-18
  • vue时间线组件的使用方法
    本文实例为大家分享了vue时间线组件的具体实现代码,供大家参考,具体内容如下 效果 vue-时间线组件(时间轴组件)代码 <template> <ul...
    99+
    2024-04-02
  • C#中多种高效定时器方法的使用详解
    目录使用 System.Threading.Timer 和 ManualResetEventSlim使用 Stopwatch 和 Sleep 方法使用 Task.Delay 和 as...
    99+
    2023-05-14
    C# 定时器
  • datepickerrh 定义自己的angular时间组件
    这篇文章将为大家详细讲解有关datepickerrh 定义自己的angular时间组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先是引入相应的文件jquery和da...
    99+
    2024-04-02
  • Java @Scheduled定时器用法解析
    目录@Scheduled定时器用法@Scheduled的几种使用方式两个方法串行执行两个方法并行,且自己也并行两个方法并行,且自己串行@Scheduled定时器用法 程序中若需要在某...
    99+
    2024-04-02
  • android定时器的使用方法
    在Android中,可以使用`CountDownTimer`类来创建和使用定时器。以下是使用`CountDownTimer`类的步骤...
    99+
    2023-08-28
    android
  • oracle数据库定时器用法
    oracle 数据库定时器允许安排任务在指定时间点或时间段内执行,包括设置开始和结束日期、重复间隔等。创建定时器涉及创建 job 和 schedule 对象,并将它们关联起来。任务可以通...
    99+
    2024-05-11
    oracle
  • C#定时任务框架Quartz.NET介绍与用法
    什么是定时任务? 最近恰巧有类似的需求, 需要做一个应用程序服务, 每天定时给服务器上传采集的数据。 在没有任务框架的使用前提下, 如果我们想要实现类似的需求,可以自己写一个计时器,...
    99+
    2024-04-02
  • linux定时器的使用方法
    这篇文章主要讲解了“linux定时器的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux定时器的使用方法”吧!首先来看看linux操作系统为每一个进程提供的3个内部计时器。IT...
    99+
    2023-06-17
  • C/C++ Qt 数据库与TreeView组件绑定详解
    在上一篇博文《C/C++ Qt 数据库QSql增删改查组件应用》介绍了Qt中如何使用SQL操作函数,并实现了对数据库的增删改查等基本功能,从本篇开始将实现数据库与View组件的绑定,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作