Recent, a apărut necesitatea de a crea un serviciu Windows care să ruleze regulat, iar după ce l-am scris cu net core, am descoperit că nu putea fi rulat ca serviciu.
După ce ai căutat în grădină, există diverse soluții, fiecare cu propriile avantaje. După ce am citit-o, am simțit că nu este foarte convenabilă, așa că mi-am gândit propriile mele idei pentru a face față. Soluția finală este să scrii trei sau patru linii de cod în posershell, iar imediat ce este executată, sarcina programată poate fi adăugată cu succes
În primul rând, scrie un program de consolă net core. Programul de consolă rulează logica ta de procesare.
Codul nu arată ......
Apoi publică codul în folderul Zhibao și trebuie să înregistrezi numele dll al consolei tale. Da, numele dll, programul de consolă NET Core, nu creează implicit un fișier exe.
Copiază calea folderului publicat,
Următorul cod poate fi scris în orice editor, eu l-am scris folosind Powershell ISE integrat în sistem.
Cod pentru ilustrare,
Înregistrează o sarcină programată (Register-ScheduledJob) în sistem, specifică numele programului (-Nume), specifică scriptul de rulare (-ScriptBlock), conținutul scriptului (traseul dotnet),
Specifică un declanșator (-Declanșator), creează un nou declanșator Specifică ora de început a alergării, specifică intervalul dintre alergări (-IntervalulRepetiție), aleargă o dată pe oră (01:00:00) și specifică o alergare nedefinită (-RepetăIndefinit)
Doar rulează scriptul Powershell de mai sus pentru a adăuga o sarcină programată în sistem.
Simplu și destul de convenabil.
Unregister-ScheduledJob -Name XXXXService --- Șterge sarcina programată.
|