Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 39816|Svar: 3

[.NET Core] En tjeneste baseret på .NET Core på Linux

[Kopier link]
Opslået den 29-10-2020 kl. 14:20:02 | | | |
.NET CORE 3.0 tilføjer nye projektskabeloner til Worker Services, som kan bruges til at skrive langvarige baggrundstjenester og nemt implementere dem som Windows-tjenester eller Linux-daemons. Hvis den installerede vs2019 er den kinesiske version, bliver Worker Services en arbejderrolle.

Linux-systemmiljø: CentOS 8 x64-bit

Opret et nyt Worker Service-projekt

Først, åbn VS 2019 for at skabe et nyt Worker Service-projekt.



Linux-tjenester, der skal tilføjes:

Hvis det er en Windows-tjeneste, skal du tilføje:

Hvis du vil køre et sæt programmer flere steder, kan du bare installere to pakker på samme tid. Dernæst i CreateHostBuilder, tilføj UseWindowsService() og UseSystemd().



Funktionen, der implementeres af projektet, er at skrive logfiler til /test/file.txt-filen, og hovedkoden er som følger:



WriteFile-opgavekoden er som følger:

På grund af tilladelsesproblemer kan programmet ikke automatisk oprette /test-mappen, som vil blive diskuteret nedenfor.

Udrul tjenester til CentOS

JaInstaller .NET Core-runtime-versionen(Undtagen ASP.NET Core-support)




Hvis du vil installere en runtime, der understøtter ASP.NET Core, kan du køre følgende kommando:

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


Opret en /test-mappe og giv tilladelser som følger:

Under mappen /etc/systemd/system oprettes itsvse.service servicekonfigurationsfilen som følger:

Tilføj servicekonti og opret mapper

Publicér og upload Job.Service til serveren /home/dotnetuser/job-kataloget, og udgiv konfigurationen som følger:



Tænd for servicen

Efter tjenesten starter, kan du se, at du kan skrive filer normalt, som vist i følgende figur:



Kildekode-download:

Turister, hvis I vil se det skjulte indhold i dette indlæg, så vær venligSvar


(Slut)




Tidligere:ASP.NET WebAPI bruger MessageHandlers til at forene formatet for returninterface-modellen
Næste:HttpSelfHostServer-baseret konsol web API-tjeneste
 Udlejer| Opslået den 30-10-2020 09:28:44 |
Eksempeloutput:
info: ExampleHostedService[0]
//           1. StartAsync er blevet kaldt.
info: ExampleHostedService[0]
//           2. OnStarted er blevet kaldt.
info: Microsoft.Hosting.Lifetime[0]
Ansøgningen startet. Tryk Ctrl+C for at lukke ned.
info: Microsoft.Hosting.Lifetime[0]
Hosting-miljø: Produktion
info: Microsoft.Hosting.Lifetime[0]
Indholdsrodsti: .. \app-lifetime\bin\Debug\net5.0
info: ExampleHostedService[0]
//           3. OnStopping er blevet kaldt.
info: Microsoft.Hosting.Lifetime[0]
Ansøgningen lukker ned...
info: ExampleHostedService[0]
//           4. StopAsync er blevet kaldt.
info: ExampleHostedService[0]
//           5. OnStopped er blevet kaldt.


 Udlejer| Opslået den 6-11-2020 13:53:00 |
offentlig abstrakt klasse BackgroundService : IHostedService, IDisposable

IHostedService-grænsefladen giver en bekvem måde at starte baggrundsopgaver i ASP.NET Core-webapplikationer (i .NET Core 2.0 og senere) eller på enhver proces/vært (startende med .NET Core 2.1 ved brug af IHost). Dens største fordel er, at det kan gøres, når værten selv er ved at lukke nedDer er en chanceLav en normal annullering for at rydde op i koden til baggrundsopgaver.
 Udlejer| Opslået den 27-4-2021 15:57:28 |
Registrer backend-serviceudvidelsesmetoden

Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com