przedmowa
Kontynuując poprzedni artykuł o Windows Task Scheduler, ten artykuł będzie opisywał tworzenie usług Windows.
Środowisko i narzędzia
>System Windows 10
>VS 2017
Tekst
1: Stwórz nowe rozwiązanie i stworzyć usługę Windows. Nazywam się "WindowsServiceDemo.exe”
2: Kliknij dwukrotnie na plik "Service1.cs", kliknij prawym na puste miejsce – > wybierz "Dodaj instalator".
3: W dwóch generowanych komponentach kliknij komponent "serviceProcessInstaller1", a w formularzu właściwości ustaw typ konta "Account" na "LocalSystem".
4: W dwóch wygenerowanych komponentach kliknij komponent "serviceInstaller1", w formularzu właściwości, ustaw odpowiednie właściwości, a następnie zapisz program.
5: Kliknij prawym przyciskiem myszy na "Service1.cs" – > wybierz "Zobacz kod".
6: W odpowiedniej metodzie zapisz logikę przetwarzania. Metoda OnStart(): odnosi się do metody wprowadzającej podczas uruchamiania usługi Windows. OnStop(): Jak sama nazwa wskazuje, to jest sposób na wejście, gdy usługa się zatrzyma. Możemy napisać timer, który pozwoli programowi przetworzyć logikę podczas regularnego stosunku.
7: Stwórz dwa pliki z notatniki, nazwij i zmodyfikuj nazwy przyrostków odpowiednio "Install.bat" i "Uninstall.bat". Uwaga: Nazwa przyrostka to .bat. Wklej to do środka projektu. I zmień atrybut na "Kopiuj do lokalnego".
8: Dwa pliki, które właśnie stworzyliśmy, służą do instalacji i odinstalowania usługi. Teraz zapisz kod wsadowy do tych dwóch plików i zapisz. Otwórz plik "Install.bat" i zapisz następujący kod
Uwaga: "WindowsServiceDemo.exe" to właśnie wygenerowany program exe. "AServiceTest" to zestaw "ServiceName" w komponencie "serviceInstaller1".
Otwórz plik "Uninstall.bat" i zapisz następujący kod
9: F6 generuje ją. W katalogu projektu "bin\Debug". Kliknij prawym przyciskiem myszy na "Install.bat" – > wybierz "Uruchom jako administrator".
Po zakończeniu instalacji usługi. Widzimy, że plik "Log.txt" zapisuje linię danych co 10 sekund.
Możemy zobaczyć zainstalowane usługi. Run – > wpisz "services.msc" enter.
Przerwij obsługę natychmiast. Kliknij prawym przyciskiem myszy na "Uninstall.bat" – > wybierz "Uruchom jako administrator".
Po odinstalowaniu usługi. Widzimy, że plik "Log.txt" również zawiera linię danych zapisanych na jego powierzchni.
#Debugowanie usług Windows
Usług Windows nie można uruchamiać bezpośrednio z F5, F10 jest debugowany. Jak więc debugować program, jeśli wystąpi nieprawidłowość? 1: Najpierw użyj administratora do uruchomienia pliku "Install.bat" i pozwól programowi działać jako pierwszy.
2: Wróć do VS i wybierz "Debug" w pasku menu – > wybierz "Dołącz do procesu".
3: W formularzu wyskakującym zaznacz "Pokaż wszystkie procesy użytkowników", znajdź .exe aplikację, którą wygenerowaliśmy, i kliknij "Dołącz".
4: Złamać punkt w metodzie, tak aby po pewnym czasie mogła wywołać debugowanie.
Epilog
Debugowanie usług Windows jest bardzo uciążliwe, czasem program jest napisany w zadaniu i usługa nie może się uruchomić, co utrudnia debugowanie. Zazwyczaj pisanie usług Windows będzie towarzyszyć aplikacji konsolowej. Debuguj to w aplikacji konsolowej, a następnie przenieś do Windows Services. Następny temat opisze prostszy sposób tworzenia usługi Windows.
Uwaga: Pliki wsadowe uruchamiane i odinstalowane przez oba programy muszą być uruchamiane jako administratorzy. W przeciwnym razie będzie to błędne.
|