|
|
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
|