Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 36585|Răspunde: 3

[ASP.NET] C# este un serviciu Windows care execută sarcini în mod regulat

[Copiază linkul]
Postat pe 27.04.2019 17:56:09 | | | |


prefață

Continuând articolul anterior despre Windows Task Scheduler, acest articol va consemna crearea serviciilor Windows.
Mediu și Unelte

>Sistemul Windows 10

>VS 2017

Text

1: Creează o soluție nouă și creează un serviciu Windows. Numele este "WindowsServiceDemo.exe






2: Dublu click pe fișierul "Service1.cs", click dreapta pe spațiul gol – > selectează "Add installer".







3: În cele două componente generate, faceți clic pe componenta "serviceProcessInstaller1" și în formularul de proprietăți, setați tipul contului "Account" pe "LocalSystem".





4: În cele două componente generate, faceți clic pe componenta "serviceInstaller1", în formularul proprietăților, setați proprietățile corespunzătoare și apoi salvați.




5: Click dreapta pe "Service1.cs" – > selectează "View Code".






6: În metoda corespunzătoare, se scrie logica de procesare. Metoda OnStart(): se referă la metoda care intră când serviciul Windows pornește. OnStop(): După cum sugerează și numele, aceasta este modalitatea de a intra când serviciul se oprește. Putem scrie un cronometru care să permită programului să proceseze logica la actul sexual obișnuit.






7: Creează două fișiere de blocnotes, denumește și modifică numele sufixelor "Install.bat" și "Uninstall.bat" respectiv Notă: Numele sufixului este .bat. Lipiți-l în interiorul proiectului. Și schimbă atributul în "Copiază în local".



8: Cele două fișiere pe care le-am creat acum sunt pentru instalarea și dezinstalarea serviciului. Acum scrie codul batch pe aceste două fișiere și salvează.
Deschide fișierul "Install.bat" și scrie următorul cod
Notă: "WindowsServiceDemo.exe" este programul exe generat recent. "AServiceTest" este setul "ServiceName" din componenta "serviceInstaller1".

Deschide fișierul "Uninstall.bat" și scrie următorul cod


9: F6 îl generează. În directorul proiectului "bin\Debug". Faceți clic dreapta pe "Install.bat" – > selectați "Rulează ca administrator".



Odată ce instalarea serviciului este finalizată. Putem vedea că fișierul "Log.txt" scrie o linie de date la fiecare 10 secunde.


Putem vedea serviciile instalate.
Run – > introduce "services.msc" enter.



Opriți serviciul acum. Faceți clic dreapta pe "Uninstall.bat" – > selectați "Rulează ca administrator".



După ce serviciul este dezinstalat. Putem vedea că fișierul "Log.txt" are și o linie de date scrisă pe el.



#Depanarea serviciilor Windows

Serviciile Windows nu pot fi pornite direct cu F5, F10 depanat. Deci, cum pot depana programul dacă există o anomalie?
1: În primul rând, folosește administratorul pentru a rula fișierul "Install.bat" și lasă programul să ruleze mai întâi.

2: Întoarce-te la VS și selectează "Debug" în bara de meniu – > selectează "Atașează procesului".





3: În formularul pop-up, bifează "Afișează toate procesele utilizatorilor", găsește aplicația .exe pe care am generat-o și apasă pe "Atașează".




4: Rupe punctul din metodă, astfel încât atunci când rulează pentru un anumit timp, să poată declanșa depanarea.



Epilog

Depanarea serviciilor Windows este foarte problematică, uneori programul este scris într-o problemă, iar serviciul nu poate porni, ceea ce face depanarea mai dificilă. În general, scrierea serviciilor Windows va fi însoțită de o aplicație de consolă. Depanează-l în aplicația de consolă, apoi mut-l în Windows Services. Următorul subiect va descrie o modalitate mai simplă de a crea un serviciu Windows.


Notă: Fișierele batch lansate și dezinstalate de cele două programe trebuie rulate ca administratori. Altfel, va fi incorect.









Precedent:Algoritmi comuni pentru partajarea big data (aplicații)
Următor:Utilizarea Topshelf pentru sarcini de execuție programată în C#
Postat pe 08.05.2019 10:59:16 |
Mulțumesc că ai împărtășit, chiar la timp, trimite-mi-o
Postat pe 22.06.2020 14:04:33 |
Raportează mereu această greșeală
 Proprietarul| Postat pe 07.09.2020 15:21:59 |
awclovelin Postat la 2020-6-22 14:04
Raportează mereu această greșeală

Comanda care rulează este greșită, acest serviciu nu este instalat. Dacă îl instalezi atingând linia de comandă, poți consulta următoarea mea postare.
Utilizarea Topshelf pentru sarcini de execuție programată în C#
https://www.itsvse.com/thread-7503-1-1.html

Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com