Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 39816|Svare: 3

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

[Kopier lenke]
Publisert 29.10.2020 14:20:02 | | | |
.NET CORE 3.0 legger til nye prosjektmaler for Worker Services, som kan brukes til å skrive langvarige bakgrunnstjenester og enkelt distribuere dem som Windows-tjenester eller Linux-daemoner. Hvis den installerte vs2019 er den kinesiske versjonen, blir Worker Services en arbeiderrolle.

Linux-systemmiljø: CentOS 8 x64-bit

Opprett et nytt Worker Service-prosjekt

Først, åpne VS 2019 for å opprette et nytt Worker Service-prosjekt.



Linux-tjenester, må legge til:

Hvis det er en Windows-tjeneste, må du legge til:

Hvis du vil kjøre et sett med programmer flere steder, kan du bare installere to pakker samtidig. Deretter i CreateHostBuilder, legg til UseWindowsService() og UseSystemd().



Funksjonen implementert av prosjektet er å skrive logger til /test/file.txt-filen, og hovedkoden er som følger:



WriteFile-oppgavekoden er som følger:

På grunn av tillatelsesproblemer kan ikke programmet automatisk opprette /test-mappen, som vil bli diskutert nedenfor.

Distribuer tjenester til CentOS

JaInstaller .NET Core-runtime(Unntatt ASP.NET Core-støtte)




Hvis du vil installere en runtime som støtter ASP.NET Core, kan du kjøre følgende kommando:

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


Opprett en /test-mappe og gi tillatelser som følger:

Under mappen /etc/systemd/system, opprett servicekonfigurasjonsfilen itsvse.service som følger:

Legg til tjenestekontoer og lag mapper

Publiser og last opp Job.Service til serveren /home/dotnetuser/job-katalogen, og publiser konfigurasjonen som følger:



Slå på tjenesten

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



Nedlasting av kildekode:

Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snillSvare


(Slutt)




Foregående:ASP.NET WebApi bruker MessageHandlers for å forene returgrensesnittmodellens format
Neste:HttpSelfHostServer-basert konsoll web-API-tjeneste
 Vert| Publisert 30.10.2020 09:28:44 |
Eksempelutdata:
info: ExampleHostedService[0]
//           1. StartAsync har blitt kalt.
info: ExampleHostedService[0]
//           2. OnStarted har blitt oppringt.
info: Microsoft.Hosting.Lifetime[0]
Søknaden startet. Trykk Ctrl+C for å slå av.
info: Microsoft.Hosting.Lifetime[0]
Vertsmiljø: Produksjon
info: Microsoft.Hosting.Lifetime[0]
Innholdsrotsti: .. \app-lifetime\bin\Debug\net5.0
info: ExampleHostedService[0]
//           3. OnStopping har blitt oppringt.
info: Microsoft.Hosting.Lifetime[0]
Applikasjonen legges ned...
info: ExampleHostedService[0]
//           4. StopAsync er blitt kontaktet.
info: ExampleHostedService[0]
//           5. OnStopped har blitt oppringt.


 Vert| Publisert 6.11.2020 13:53:00 |
offentlig abstrakt klasse BackgroundService : IHostedService, IDisposable

IHostedService-grensesnittet gir en praktisk måte å starte bakgrunnsoppgaver i ASP.NET Core-webapplikasjoner (i .NET Core 2.0 og nyere) eller på enhver prosess/vert (fra .NET Core 2.1 ved bruk av IHost). Hovedfordelen er at det kan gjøres når verten selv er i ferd med å slå seg avDet er en sjanseLag en vanlig kansellering for å rydde opp i koden for bakgrunnsoppgaver.
 Vert| Publisert 27.04.2021 kl. 15:57:28 |
Registrer backend-tjenesteutvidelsesmetoden

Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com