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