|
|
Publisert på 27.04.2019 17:56:09
|
|
|
|

forord
I forlengelsen av forrige artikkel om Windows Task Scheduler, vil denne artikkelen dokumentere opprettelsen av Windows-tjenester.
Miljø og verktøy
>Windows 10-system
>VS 2017
Tekst
1: Lag en ny løsning og lag en Windows-tjeneste. Navnet er "WindowsServiceDemo.exe”
2: Dobbeltklikk på "Service1.cs"-filen, høyreklikk på det tomme feltet – > velg "Legg til installasjonsprogram".
3: I de to komponentene som genereres, klikk på komponenten "serviceProcessInstaller1", og i egenskapsskjemaet sett kontotypen "Account" til "LocalSystem".
4: I de to genererte komponentene, klikk på "serviceInstaller1"-komponenten i egenskapsskjemaet, angi de tilsvarende egenskapene, og lagre deretter.
5: Høyreklikk på "Service1.cs" – > velg "Vis kode".
6: I den tilsvarende metoden, skriv prosesseringslogikken. OnStart()-metoden: refererer til metoden som går inn når Windows-tjenesten starter. OnStop(): Som navnet antyder, er dette måten å gå inn på når tjenesten stopper. Vi kan skrive en timer som lar programmet behandle logikken ved vanlig samleie.
7: Lag to notatblokkfiler, navngi og endre suffiksnavnene "Install.bat" og "Uninstall.bat" henholdsvis. Merk: Suffiksnavnet er .bat. Lim det inn i prosjektet. Og endre attributten til "Kopier til lokal".
8: De to filene vi nettopp opprettet er for å installere tjenesten og avinstallere tjenesten. Nå skriver du batchkoden til disse to filene og lagrer. Åpne "Install.bat"-filen og skriv følgende kode
Merk: "WindowsServiceDemo.exe" er exe-programmet som nettopp er generert. "AServiceTest" er "ServiceName" satt i komponenten "serviceInstaller1".
Åpne "Uninstall.bat"-filen og skriv følgende kode
9: F6 genererer det. I prosjektet "bin\Debug"-katalogen. Høyreklikk på "Install.bat" – > velg "Kjør som administrator".
Når installasjonen av tjenesten er fullført. Vi kan se at "Log.txt"-filen skriver en linje med data hvert 10. sekund.
Vi kan se de installerte tjenestene. Kjør – > skriv inn "services.msc" og skriv inn.
Stopp tjenesten nå. Høyreklikk på "Uninstall.bat" – > velg "Kjør som administrator".
Etter at tjenesten er avinstallert. Vi kan se at "Log.txt"-filen også har en linje med data skrevet til seg.
#Feilsøking av Windows-tjenester
Windows-tjenester kan ikke startes direkte med F5, F10 feilsøkes. Så hvordan feilsøke programmet hvis det er en unormalitet? 1: Først og fremst, bruk administratoren til å kjøre "Install.bat"-filen og la programmet kjøre først.
2: Gå tilbake til VS og velg "Debug" i menylinjen – > velg "Koble til prosess".
3: I popup-skjemaet, merk av for «Vis alle brukeres prosesser», finn den .exe applikasjonen vi genererte, og klikk på «Ved».
4: Bryt punktet i metoden, slik at når den kjører en viss tid, kan den utløse feilsøking.
Epilog
Feilsøking av Windows-tjenester er veldig problematisk, noen ganger er programmet skrevet inn i et problem, og tjenesten kan ikke starte, noe som gjør det vanskeligere å feilsøke. Generelt vil skriving av Windows-tjenester ledsages av en konsollapplikasjon. Feilsøk det i konsollapplikasjonen, og flytt det deretter til Windows Services. Neste tema vil beskrive en enklere måte å lage en Windows-tjeneste på.
Merk: Batchfilene som startes og avinstalleres av de to programmene må kjøres som administratorer. Ellers vil det være feil.
|
Foregående:Felles algoritmer for deling av big data (applikasjoner)Neste:Bruken av Topshelf for C# planlagte utførelsesoppgaver
|