當然,實現定時任務有更好的操作方式,比如
方式一:
asp.net mvc+quartz.net +corn +webapi,asp.net mvc做任務管理的平台,使用CronTrigger做定時觸發,quartz.net做定時執行控制,webapi實現執行邏輯
方式二:
老生常談的一種,windows服務(開機自啟)+定時器(timer,quartz.net等)+webapi(或者其他實現執行邏輯)
最近在做cs,timer實現時間的控制並不精確,決定以windows計划實現,先介紹一下mshta吧:
Mshta
它支持命令行參數,可以接收JS和VBS的方法。
例子如下:
//JS,要以vbscript:開頭,實現不打開瀏覽器顯示hello world! mshta vbscript:window.execScript("alert('hello world!');","javascript")(window.close) //VBA,要以javascript:開頭,實現不打開窗體顯示hello world! mshta javascript:window.execScript("msgBox('hello world!'):window.close","vbs")
WebApi
創建一個WebApi即可,假設路徑為http://localhost:22673/api/SendMail/SendToLeader,需要支持HttpGet
那么在重建windows執行計划時,在操作--選擇啟動程序,可參照如下:
//cmd執行如下,在瀏覽器打開連接 explorer http://localhost:22673/api/SendMail/SendToLeader
不打開瀏覽器,可參照如下:
//cmd命令下,可通過執行如下語句實現邏輯控制,不打開瀏覽器 //直接使用mshta作為程序文件可以 //創建bat文件作為程序文件也可以 mshta vbscript:createobject("wscript.shell").run("""iexplore"" http://localhost:22673/api/SendMail/SendToLeader",0)(window.close)