Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 36585|Svare: 3

[ASP.NET] C# er en Windows-tjeneste som utfører oppgaver regelmessig

[Kopier lenke]
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
Publisert på 08.05.2019 10:59:16 |
Takk for at du delte, akkurat i tide, send det til meg
Publisert på 22.06.2020 14:04:33 |
Rapporter alltid denne feilen
 Vert| Publisert på 07.09.2020 15:21:59 |
awclovelin Publisert 22.06.2020 kl. 14:04
Rapporter alltid denne feilen

Kommandoen som kjører er feil, denne tjenesten er ikke installert. Hvis du installerer det ved å trykke på kommandolinjen, kan du se mitt neste innlegg.
Bruken av Topshelf for C# planlagte utførelsesoppgaver
https://www.itsvse.com/thread-7503-1-1.html

Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com