Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 36585|Svar: 3

[ASP.NET] C# er en Windows-tjeneste, der udfører opgaver regelmæssigt

[Kopier link]
Opslået på 27/04/2019 17.56.09 | | | |


forord

I forlængelse af den tidligere artikel om Windows Task Scheduler vil denne artikel dokumentere oprettelsen af Windows-tjenester.
Miljø & Værktøjer

>Windows 10-system

>VS 2017

Tekst

1: Opret en ny løsning og lav en Windows-tjeneste. Navnet er "WindowsServiceDemo.exe






2: Dobbeltklik på "Service1.cs"-filen, højreklik på det tomme felt – > vælg "Tilføj installationsprogram".







3: I de to komponenter, der genereres, klik på "serviceProcessInstaller1"-komponenten, og i egenskabsformularen sæt "Account"-kontotypen til "LocalSystem".





4: I de to genererede komponenter klik på "serviceInstaller1"-komponenten i egenskaberne, sæt de tilsvarende egenskaber, og gem derefter.




5: Højreklik på "Service1.cs" – > vælg "Vis kode".






6: I den tilsvarende metode skrives behandlingslogikken. OnStart()-metoden: refererer til den metode, der indtastes, når Windows-tjenesten starter. OnStop(): Som navnet antyder, er dette måden at komme ind på, når tjenesten stopper. Vi kan skrive en timer, så programmet kan behandle logikken ved almindelig samleje.






7: Opret to notesblokfiler, navngiv og ændr suffiksnavnene "Install.bat" og "Uninstall.bat" henholdsvis. Bemærk: Suffiksnavnet er .bat. Indsæt det inde i projektet. Og ændre attributten til "Kopier til lokal".



8: De to filer, vi lige har oprettet, er til installation af tjenesten og afinstallation af tjenesten. Skriv nu batchkoden til disse to filer og gem.
Åbn "Install.bat"-filen og skriv følgende kode
Bemærk: "WindowsServiceDemo.exe" er det exe-program, der netop er genereret. "AServiceTest" er "ServiceName" sat i "serviceInstaller1"-komponenten.

Åbn "Uninstall.bat"-filen og skriv følgende kode


9: F6 genererer det. I projektets mappe "bin\Debug". Højreklik på "Install.bat" – > vælg "Kør som administrator".



Når installationen af servicen er færdig. Vi kan se, at "Log.txt"-filen skriver en linje data hvert 10. sekund.


Vi kan se de installerede tjenester.
Kør – > indtaster "services.msc" og indtaster.



Stop tjenesten nu. Højreklik på "Uninstall.bat" – > vælg "Kør som administrator".



Efter at tjenesten er afinstalleret. Vi kan se, at "Log.txt"-filen også har en linje med data skrevet til sig.



#Windows-tjenestefejlfinding

Windows-tjenester kan ikke startes direkte med F5, F10 fejlfindes. Så hvordan fejlfinder man programmet, hvis der er en abnormitet?
1: Først og fremmest, brug administratoren til at køre "Install.bat"-filen og lad programmet køre først.

2: Gå tilbage til VS og vælg "Debug" i menulinjen – > vælg "Tilknyt til process".





3: I pop-up-formularen markerer du "Vis alle brugeres processer", find den .exe applikation, vi har genereret, og klik på "Vedhæft".




4: Bryd punktet i metoden, så når den kører i en vis tid, kan den udløse fejlsøgning.



Epilog

Fejlfinding af Windows-tjenester er meget besværlig, nogle gange er programmet skrevet i et problem, og tjenesten kan ikke starte, hvilket gør det sværere at fejlfinde. Generelt ledsages skrivning af Windows-tjenester af en konsolapplikation. Debug det i konsolapplikationen, og flyt det derefter til Windows Services. Det næste emne vil beskrive en enklere måde at oprette en Windows-tjeneste på.


Bemærk: De batchfiler, der startes og afinstalleres af de to programmer, skal køres som administratorer. Ellers vil det være forkert.









Tidligere:Almindelige algoritmer til deling af big data (applikationer)
Næste:Brugen af Topshelf til C# planlagte udførelsesopgaver
Opslået på 08/05/2019 10.59.16 |
Tak fordi du delte, lige i tide, send det til mig
Opslået på 22/06/2020 14.04.33 |
Rapportér altid denne fejl
 Udlejer| Opslået på 07/09/2020 15.21.59 |

Kommandoen, der kører, er forkert, denne tjeneste er ikke installeret. Hvis du installerer det ved at trykke på kommandolinjen, kan du se mit næste indlæg.
Brugen af Topshelf til C# planlagte udførelsesopgaver
https://www.itsvse.com/thread-7503-1-1.html

Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com