Nedavno je bilo treba narediti storitev Windows Service, ki bi se izvajala redno, in po tem, ko sem jo napisal z net core, sem ugotovil, da je ni mogoče zagnati kot storitev.
Po iskanju v vrtu najdemo različne rešitve, vsaka s svojimi prednostmi. Po branju sem menil, da ni ravno priročno, zato sem si izmislil svoje ideje, kako se s tem spopasti. Zadnja rešitev je, da napišete tri ali štiri vrstice kode v posershellu, in takoj ko se izvede, je mogoče uspešno dodati načrtovano nalogo
Najprej napiši net core konzolni program. Konzolni program izvaja vašo procesno logiko.
Koda ne prikazuje ......
Nato objavi kodo v mapo Zhibao in moraš zabeležiti ime dll svoje konzole. Da, ime dll, NET Core konzolni program, privzeto ne ustvari exe datoteke.
Kopiraj pot objavljene mape,
Naslednjo kodo je mogoče napisati v kateremkoli urejevalniku, napisal sem jo z vgrajenim Powershell ISE v sistemu.
Koda za ponazoritev,
Registrirajte načrtovano nalogo (Register-ScheduledJob) v sistemu, določite ime urnika (-Name), določite skripto za izvajanje (-ScriptBlock), vsebino skripte (pot dotnet),
Določite sprožilec (-Sprožilec), ustvarite nov sprožilec Določite začetni čas zagona, določite interval med zagoni (-RepetitionInterval), izvedite enkrat na uro (01:00:00) in določite nedoločen zatek (-RepeatIndefinitelly)
Preprosto zaženite zgornjo Powershell skripto, da dodate načrtovano nalogo v sistem.
Preprosto in dovolj priročno.
Odjavi-ScheduledJob -Ime XXXXService --- Izbriši načrtovano nalogo.
|