定时执行某段程序
有時(shí)候我們需要每天 定時(shí)的 自動(dòng) 去執(zhí)行某段程序,那么這個(gè)功能如何實(shí)現(xiàn)呢? 經(jīng)過(guò)百度,定時(shí)器就可以實(shí)現(xiàn),總結(jié)如下:
我用控制臺(tái)寫(xiě)了一個(gè)程序,用來(lái)在指定時(shí)間內(nèi) 打印 “我執(zhí)行了”
上面就是程序的運(yùn)行結(jié)構(gòu),由于我設(shè)置了循環(huán),所以輸出了多次
代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApplication1 {class Program{public static int n = 0;public static string time = "14:41:0";//設(shè)置在每天下午2點(diǎn)26分執(zhí)行static void Main(string[] args){//指定時(shí)間執(zhí)行一段程序System.Timers.Timer timer = new System.Timers.Timer();timer.Enabled = true;timer.Interval = 1000;//執(zhí)行間隔時(shí)間,單位為毫秒 這里我設(shè)置的每隔1秒執(zhí)行一次程序 timer.Start(); timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed);Console.ReadKey();}private static void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e){DateTime dt = DateTime.Now;string currentTime = string.Format("{0}:{1}:{2}", dt.Hour.ToString(), dt.Minute.ToString(), dt.Second.ToString());Console.WriteLine(currentTime);if (currentTime==time)//如果到了我們指定的時(shí)間,則提示“我執(zhí)行了” {for (int i = 0; i < 1000; i++){Console.WriteLine("我執(zhí)行了!"); } } }} } View Code參考: http://www.cnblogs.com/freeliver54/archive/2007/03/06/665625.html
集合MVC使用參考:http://www.cnblogs.com/sdadx/p/6102017.html
我們想要的效果就這樣簡(jiǎn)單的搞定了~~?
由于Timer只有在瀏覽網(wǎng)頁(yè)的時(shí)候他才會(huì)執(zhí)行,但我們想要的是將網(wǎng)站部署到IIS后,無(wú)論瀏覽不瀏覽或者IIS重啟,他都會(huì)自動(dòng)執(zhí)行。
這時(shí)我們可以通過(guò)Quartz.Net實(shí)現(xiàn),并利用Topshelf創(chuàng)建windows服務(wù)達(dá)到永久運(yùn)行的效果:
參考博文:
1.http://www.cnblogs.com/jys509/p/4628926.html?Quartz.NET 入門(mén)
2.http://www.cnblogs.com/jys509/p/4614975.html?使用Topshelf創(chuàng)建Windows服務(wù)
3.http://blog.csdn.net/yansong_8686/article/details/46991189?Quartz 定時(shí)任務(wù)設(shè)置某個(gè)時(shí)間區(qū)間每隔一定時(shí)間觸發(fā)的cron表達(dá)式時(shí)間配置
參考上面,自己寫(xiě)了個(gè)Demo:網(wǎng)盤(pán)鏈接:http://pan.baidu.com/s/1pLU6dq7 密碼:bo8p ?or?https://github.com/shuai7boy/TestQuartz
一般Quartz都單獨(dú)作為一個(gè)項(xiàng)目對(duì)其它項(xiàng)目進(jìn)行調(diào)用。
需要注意的問(wèn)題:
1.將上面博文中提到的 配置文件 一定要改為始終配置
2.直接 搬磚 的話,注意改下Demo的命名空間和 配置文件路徑
3.安裝window服務(wù)時(shí),如果出現(xiàn)以下錯(cuò)誤,那么 首先 看看CMD是否以管理員運(yùn)行, 如果是還不行,那就關(guān)閉殺毒軟件應(yīng)該就可以了
?
轉(zhuǎn)載于:https://www.cnblogs.com/shuai7boy/p/6077696.html
總結(jié)
- 上一篇: MyEclipse运行时自动保存
- 下一篇: Find系列旗舰尝鲜 OPPO Colo