Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 36585|Svar: 3

[ASP.NET] C# är en Windows-tjänst som regelbundet utför uppgifter

[Kopiera länk]
Publicerad på 2019-04-27 17:56:09 | | | |


förord

Som en fortsättning på den tidigare artikeln om Windows Task Scheduler kommer denna artikel att dokumentera skapandet av Windows-tjänster.
Miljö och verktyg

>Windows 10-system

>VS 2017

SMS

1: Skapa en ny lösning och skapa en Windows-tjänst. Namnet är "WindowsServiceDemo.exe






2: Dubbelklicka på "Service1.cs"-filen, högerklicka på det tomma utrymmet – > välj "Lägg till installationsprogram".







3: I de två genererade komponenterna klickar du på komponenten "serviceProcessInstaller1" och i egenskapsformuläret ställer du in kontotypen "Account" till "LocalSystem".





4: I de två genererade komponenterna, klicka på "serviceInstaller1"-komponenten i egenskapsformuläret, ställ in motsvarande egenskaper och spara sedan.




5: Högerklicka på "Service1.cs" – > välj "Visa kod".






6: I motsvarande metod, skriv bearbetningslogiken. OnStart()-metoden: avser metoden som går in när Windows-tjänsten startar. OnStop(): Som namnet antyder är detta sättet att gå in när tjänsten stannar. Vi kan skriva en timer så att programmet kan bearbeta logiken vid vanlig samlag.






7: Skapa två anteckningsfiler, namnge och ändra suffixnamnen "Install.bat" respektive "Uninstall.bat". Not: Suffixnamnet är .bat. Klistra in den i projektet. Och ändra attributet till "Kopiera till lokal".



8: De två filer vi just skapade är för att installera tjänsten och avinstallera den. Skriv nu batchkoden till dessa två filer och spara.
Öppna filen "Install.bat" och skriv följande kod
Notera: "WindowsServiceDemo.exe" är exe-programmet som just genererats. "AServiceTest" är "ServiceName" som är inställd i komponenten "serviceInstaller1".

Öppna "Uninstall.bat"-filen och skriv följande kod


9: F6 genererar det. I projektets katalog "bin\Debug". Högerklicka på "Install.bat" – > välj "Kör som administratör".



När installationen av tjänsten är klar. Vi kan se att "Log.txt"-filen skriver en rad data var tionde sekund.


Vi kan se de installerade tjänsterna.
Kör – > ange "services.msc" och ange det.



Stoppa tjänsten nu. Högerklicka på "Uninstall.bat" – > välj "Kör som administratör".



Efter att tjänsten har avinstallerats. Vi kan se att "Log.txt"-filen också har en rad data skriven till sig.



#Felsökning av Windows-tjänster

Windows-tjänster kan inte startas direkt med F5, F10 felsökt. Så hur felsöker man programmet om det finns en avvikelse?
1: Först och främst, använd administratören för att köra "Install.bat"-filen och låt programmet köras först.

2: Gå tillbaka till VS och välj "Felsök" i menyfältet – > välj "Fäst till process".





3: I popup-formuläret, kryssa i "Visa alla användares processer", hitta den .exe applikation vi genererat och klicka på "Bifoga".




4: Bryt punkten i metoden, så att när den körs en viss tid kan den trigga felsökning.



Epilog

Felsökning av Windows-tjänster är mycket besvärligt, ibland är programmet skrivet i ett problem och tjänsten kan inte starta, vilket gör det svårare att felsöka. Generellt följer skrivandet av Windows-tjänster med en konsolapplikation. Felsök det i konsolapplikationen och flytta sedan det till Windows Services. Nästa ämne kommer att beskriva ett enklare sätt att skapa en Windows-tjänst.


Observera: De batchfiler som startas och avinstalleras av de två programmen måste köras som administratörer. Annars kommer det att vara felaktigt.









Föregående:Vanliga algoritmer för delning av big data (applikationer)
Nästa:Användningen av Topshelf för C# schemalagda exekveringsuppgifter
Publicerad på 2019-05-08 10:59:16 |
Tack för att du delade med dig, precis i tid, skicka det till mig
Publicerad på 2020-06-22 14:04:33 |
Rapportera alltid detta misstag
 Hyresvärd| Publicerad på 2020-09-07 15:21:59 |
awclovelin Publicerad den 2020-6-22 14:04
Rapportera alltid detta misstag

Kommandot som körs är fel, den här tjänsten är inte installerad. Om du installerar det genom att trycka på kommandoraden kan du hänvisa till mitt nästa inlägg.
Användningen av Topshelf för C# schemalagda exekveringsuppgifter
https://www.itsvse.com/thread-7503-1-1.html

Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com