真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#任務(wù)調(diào)度器之FluentScheduler

在C#WINFORM或者是ASP.NET的WEB應(yīng)用程序中,根據(jù)各種定時任務(wù)的需求,比如:每天的數(shù)據(jù)統(tǒng)計,每小時刷新系統(tǒng)緩存等等,這個時候我們得應(yīng)用到定時器。

邛崍網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,邛崍網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為邛崍成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的邛崍做網(wǎng)站的公司定做!

經(jīng)過多番查找搜索,終于找到一下比較好用的任務(wù)定時器–FluentScheduler,你可以通過Nuget來引用,用程序包管理器執(zhí)行如下命令即可安裝。

Install-Package FluentScheduler

 此組件可以在C#和ASP.NET程序中使用,使用方法很簡單,官方有使用案例:

FluentScheduler 中 對象: IJob(工作)、Registry(注冊)、Schedule(計劃)

 

  1. 首先做一個簡單的實例 

using FluentScheduler;
/// 
///  工作類
/// 
public class MyJob : IJob
{
    public void Execute()
    {
         //編寫需要工作的內(nèi)容
         //比如輸出一句話
         Console.WriteLine("執(zhí)行工作!");
    }
}
using FluentScheduler; 
/// 
///  注冊表
/// 
public class MyRegistry : Registry
{   
    //無參構(gòu)造函數(shù)
    public MyRegistry()
    {
        //安排任務(wù)運行在一個區(qū)間
        Schedule().ToRunNow().AndEvery(2).Seconds(); 
        
        // 安排任務(wù)運行一次,由一個特定的時間間隔延遲。
        Schedule().ToRunOnceIn(5).Seconds(); 
        
        //安排一個簡單的任務(wù)在一個特定的時間運行
        Schedule(() => Console.WriteLine("Timed Task - Will run every day at 9:15pm: " + DateTime.Now)).ToRunEvery(1).Days().At(21, 15);
        
        //安排一個更復(fù)雜的行動,立即運行和每月的時間間隔
        Schedule(() =>
        {
            Console.WriteLine("Complex Action Task Starts: " + DateTime.Now);
            Thread.Sleep(1000);
            Console.WriteLine("Complex Action Task Ends: " + DateTime.Now);
        }).ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0); 
        
        //計劃多個任務(wù)在一個單一的日程安排中運行
        Schedule().AndThen().ToRunNow().AndEvery(5).Minutes();
    }
}

在ASP.NET程序的Global.asax文件中,首先初始化管理器,這樣定時器就開啟了。

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

以上是第一種寫法,下面介紹第二種寫法,這里執(zhí)行多個任務(wù) 不同時間段

protected void Application_Start()
{
    JobManager.AddJob(t=>t.ToRunEvery(1).Days().At(24,00));//每天的凌晨12點 執(zhí)行 
    JobManager.AddJob(t => t.ToRunEvery(1).Months().OnTheLastDay().At(8,30));//每個月的最后一天早上八點半 執(zhí)行
    JobManager.Start();//啟動任務(wù)管理器
}

分享文章:C#任務(wù)調(diào)度器之FluentScheduler
網(wǎng)址分享:http://weahome.cn/article/pcciii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部