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

Widok: 39816|Odpowiedź: 3

[.NET Core] Usługa oparta na .NET Core na Linuksie

[Skopiuj link]
Opublikowano 2020-10-29 14:20:02 | | | |
.NET CORE 3.0 dodaje nowe szablony projektów dla Worker Services, które mogą być używane do pisania długo działających usług w tle i łatwego wdrażania ich jako usługi Windows lub demony Linuksa. Jeśli zainstalowany vs2019 to chińska wersja, Usługi Pracownicze stają się rolą pracowniczą.

Środowisko systemowe Linux: CentOS 8 x64-bit

Stwórz nowy projekt Worker Service

Po pierwsze, otworzyć VS 2019, aby stworzyć nowy projekt Worker Service.



Usługi Linuksa – trzeba dodać:

Jeśli to usługa Windows, musisz dodać:

Jeśli chcesz uruchomić zestaw programów w wielu miejscach, możesz po prostu zainstalować dwa pakiety jednocześnie. Następnie w CreateHostBuilder dodaj UseWindowsService() i UseSystemd().



Funkcją implementowaną przez projekt jest zapisywanie logów do pliku /test/file.txt, a główny kod wygląda następująco:



Kod zadania WriteFile wygląda następująco:

Z powodu problemów z uprawnieniami program nie może automatycznie utworzyć folderu /test, co zostanie omówione poniżej.

Wdrażanie usług na CentOS

TakZainstaluj środowisko uruchomieniowe .NET Core(Z wyłączeniem wsparcia ASP.NET Core)




Jeśli chcesz zainstalować środowisko uruchomieniowe obsługujące ASP.NET Core, możesz wykonać następujące polecenie:

[root@localhost~]# dotnet --list-runtimes
Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]


Stwórz folder /test i nadaj uprawnienia w następujący sposób:

W folderze /etc/systemd/system utwórz plik konfiguracyjny usługi itsvse.service w następujący sposób:

Dodaj konta serwisowe i utwórz foldery

Publikuj i przesyłaj Job.Service do katalogu serwera /home/dotnetuser/job oraz publikuj konfigurację w następujący sposób:



Włącz usługę

Po uruchomieniu usługi można zobaczyć, że można zapisywać pliki normalnie, jak pokazano na poniższym rysunku:



Pobranie kodu źródłowego:

Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszęOdpowiedź


(Koniec)




Poprzedni:ASP.NET WebApi wykorzystuje MessageHandlery do ujednolicenia formatu modelu interfejsu zwrotnego
Następny:Konsolowa usługa API oparta na HttpSelfHostServer
 Ziemianin| Opublikowano 2020-10-30 09:28:44 |
Przykładowe wyniki pracy:
info: ExampleHostedService[0]
//           1. StartAsync został wywołany.
info: ExampleHostedService[0]
//           2. OnStarted został wywołany.
info: Microsoft.Hosting.Lifetime[0]
Aplikacja rozpoczęła się. Naciśnij Ctrl+C, aby wyłączyć.
info: Microsoft.Hosting.Lifetime[0]
Środowisko hostingowe: Produkcja
info: Microsoft.Hosting.Lifetime[0]
Ścieżka podstawowa treści: .. \app-lifetime\bin\Debug\net5.0
info: ExampleHostedService[0]
//           3. Wezwano OnStopping.
info: Microsoft.Hosting.Lifetime[0]
Aplikacja się zamyka...
info: ExampleHostedService[0]
//           4. StopAsync został wezwany.
info: ExampleHostedService[0]
//           5. OnStopped został wywołany.


 Ziemianin| Opublikowano 2020-11-6 o 13:53:00 |
klasa public abstract BackgroundService : IHostedService, IDisposable

Interfejs IHostedService zapewnia wygodny sposób uruchamiania zadań w tle w ASP.NET aplikacjach sieciowych Core (w .NET Core 2.0 i nowszych) lub na dowolnym procesie/hostze (począwszy od .NET Core 2.1 z użyciem IHost). Jego główną zaletą jest to, że można to zrobić, gdy sam host ma się wyłączyćJest szansaZrób normalne anulowanie, aby oczyścić kod do zadań w tle.
 Ziemianin| Opublikowano 2021-4-27 15:57:28 |
Zarejestruj metodę rozszerzenia usług backendowych

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