Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 36585|Odpowiedź: 3

[ASP.NET] C# to usługa Windows, która regularnie wykonuje zadania

[Skopiuj link]
Opublikowano 27.04.2019 17:56:09 | | | |


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.









Poprzedni:Typowe algorytmy udostępniania big data (Zastosowania)
Następny:Wykorzystanie Topshelf do zadań wykonania zaplanowanych w C#
Opublikowano 08.05.2019 10:59:16 |
Dziękuję za podzielenie się, w samą porę, wyślij mi to
Opublikowano 22.06.2020 14:04:33 |
Zawsze zgłaszaj ten błąd
 Ziemianin| Opublikowano 07.09.2020 15:21:59 |
awclovelin Opublikowano 2020-6-22 14:04
Zawsze zgłaszaj ten błąd

Uruchomione polecenie jest błędne, ta usługa nie jest zainstalowana. Jeśli instalujesz ją, dotykając wiersza poleceń, możesz odnieść się do mojego następnego wpisu.
Wykorzystanie Topshelf do zadań wykonania zaplanowanych w C#
https://www.itsvse.com/thread-7503-1-1.html

Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com