"

德甲体育-欢迎您_YABO网页登陆-官网-欢迎您拥有全球最顶尖的原生APP,每天为您提供千场精彩体育赛事,德甲体育-欢迎您_YABO网页登陆-官网-欢迎您更有真人、彩票、电子老虎机、真人电子竞技游戏等多种娱乐方式选择,德甲体育-欢迎您_YABO网页登陆-官网-欢迎您让您尽享娱乐、赛事投注等,且无后顾之忧!

"
首頁 > c# 方法定時運行

c# 方法定時運行

互聯網 2021-04-09 22:13:35

最近在做一個定時任務,要求是每一分鐘觸發一次。

由于之前是采用的FluentScheduler寫的,現在改成了Cron表達式。中間出現了一些問題,所以現在寫下來,和大家分享一下。

先說一下準備工作,你需要這么三個dll:

將他們添加到指定的位置就可以了。

定時任務,我們要做的就是在一開始運行項目的時候讓他啟動,所以在Global.asax里面的這個方法里面增加圈出的這個方法,指向你另一個類中的方法。

我是指向了這么一個類PlanRegistry,這里面的這個Start方法:

public static void Start()

{string QuestionCron = ConfigurationManager.AppSettings["quarterCon"] == null ? "0 0/1 * * * ? *" : ConfigurationManager.AppSettings["quarterCon"];

新建一個調度器工工廠ISchedulerFactory factory = new StdSchedulerFactory();使用工廠生成一個調度器IScheduler scheduler = factory.GetScheduler();//啟動調度器scheduler.Start();IJobDetail job = JobBuilder.Create().Build();// 新建一個觸發器ITrigger trigger = TriggerBuilder.Create().StartNow().WithCronSchedule(QuestionCron).Build();//將任務與觸發器關聯起來放到調度器中scheduler.ScheduleJob(job, trigger);}

?

這個地方有一個點需要注意,那就是這個quarterCon,我們需要從我們的Web.Config配置文件中讀取。

將這個Cron表達式,加在appSettings里面即可,名字以及執行的方式方法你都可以自定義,另外Cron表達式的寫法,網上很多,也有很多的在線生成工具,不在陳述。

任務啟動之后,我們會跳轉到這么一個類,就是你自己定義的關于你后臺邏輯的類了,我們這里的是CreateCheckTaskJob:

這個地方的方法,需要繼承一個Ijob的類:

public void Execute(IJobExecutionContext context){}

這是這個方法的空函數,你可以在里面加你自己需要的方法。

到這里,基本上就結束了,總結幾個出錯的地方:

1.提示Common.Logging的版本問題:

未能加載文件或程序集“Common.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=af08829b84f

那說明你引入的dll版本異常

你可以嘗試看一下,你現在引入的版本是多少,在看一下,你配置文件里面定義的版本是多少,統一起來,我這里是采用的3.3.1.0。

另外你也需要在配置文件中加入以下內容

加入此依賴。

另外就是根據需要在packages.config里面加入上述的包引用。

?2.Quartz.Impl.StdSchedulerFactory'的類型初始值設定項引發異常

如果出現此問題,是由於?app.config?或者?web.config?不包含?commonlogging?節,構造函數失敗。你的.config?文件包含以下部分:

另外可能還需要加入Quarz的配置:?

這部分都應該放在configSections里面。

?最后,附上三個我使用的dll,供大家使用,請注意版本不同會有影響的。

?

鏈接:https://pan.baidu.com/s/1TGKF4rMeW-uAi5IIZa3uGg 提取碼:5gtn 復制這段內容后打開百度網盤手機App,操作更方便哦

?

免責聲明:非本網注明原創的信息,皆為程序自動獲取互聯網,目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責;如此頁面有侵犯到您的權益,請給站長發送郵件,并提供相關證明(版權證明、身份證正反面、侵權鏈接),站長將在收到郵件12小時內刪除。
德甲体育-欢迎您_YABO网页登陆-官网-欢迎您 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>