Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 39816|Odgovoriti: 3

[.NET Core] Storitev, ki temelji na .NET Core na Linuxu

[Kopiraj povezavo]
Objavljeno 29. 10. 2020 ob 14:20:02 | | | |
.NET CORE 3.0 dodaja nove predloge projektov za delavske storitve, ki jih je mogoče uporabiti za pisanje dolgotrajnih ozadnih storitev in njihovo enostavno nameščanje kot Windows storitve ali Linux demone. Če je nameščeni vs2019 kitajska različica, Delavske storitve postanejo delovna vloga.

Linux sistemsko okolje: CentOS 8 x64-bit

Ustvarite nov projekt Worker Service

Najprej odprete VS 2019 za ustvarjanje novega projekta Worker Service.



Linux storitve je treba dodati:

Če gre za Windows storitev, boste morali dodati:

Če želite poganjati nabor programov na več mestih, lahko preprosto namestite dva paketa hkrati. Nato v CreateHostBuilder dodajte UseWindowsService() in UseSystemd().



Funkcija, ki jo projekt implementira, je zapisovanje dnevnikov v datoteko /test/file.txt, glavna koda pa je naslednja:



Koda naloge WriteFile je naslednja:

Zaradi težav z dovoljenji program ne more samodejno ustvariti mape /test, o kateri bomo govorili spodaj.

Namestitev storitev na CentOS

DaNamestite .NET Core runtime(Razen ASP.NET Core podpore)




Če želite namestiti runtime, ki podpira ASP.NET Core, lahko izvedete naslednji ukaz:

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


Ustvarite mapo /test in dodelite dovoljenja na naslednji način:

Pod mapo /etc/systemd/system ustvarite konfiguracijsko datoteko itsvse.service na naslednji način:

Dodajte servisne račune in ustvarite mape

Objavite in naložite Job.Service na imenik strežnik /home/dotnetuser/job ter objavite konfiguracijo na naslednji način:



Vklopi storitev

Po začetku storitve lahko vidite, da lahko datoteke pišete normalno, kot je prikazano na naslednji sliki:



Prenos izvorne kode:

Turisti, če želite videti skrito vsebino te objave, prosimOdgovoriti


(Konec)




Prejšnji:ASP.NET WebApi uporablja MessageHandlers za poenotenje formata modela vračanskega vmesnika
Naslednji:HttpSelfHostServer na osnovi konzolne spletne API storitve
 Najemodajalec| Objavljeno 2020-10-30 09:28:44 |
Vzorčni izhod:
info: ExampleHostedService[0]
//           1. StartAsync je bil poklican.
info: ExampleHostedService[0]
//           2. OnStarted je bil poklican.
informacije: Microsoft.Hosting.Lifetime[0]
Aplikacija se je začela. Pritisnite Ctrl+C za izklop.
informacije: Microsoft.Hosting.Lifetime[0]
Gostiteljsko okolje: Produkcija
informacije: Microsoft.Hosting.Lifetime[0]
Vsebinska osnovna pot: .. \app-lifetime\bin\Debug\net5.0
info: ExampleHostedService[0]
//           3. OnStopping je bil poklican.
informacije: Microsoft.Hosting.Lifetime[0]
Aplikacija se zapira...
info: ExampleHostedService[0]
//           4. Poklicali so StopAsync.
info: ExampleHostedService[0]
//           5. OnStopped je bil poklican.


 Najemodajalec| Objavljeno 6. 11. 2020 ob 13:53:00 |
javni abstraktni razred OzadjeStoritev : IHostedService, IDisposable

Vmesnik IHostedService omogoča priročen način za začetek ozadnih nalog v ASP.NET jedrnih spletnih aplikacijah (v .NET Core 2.0 in novejših) ali na katerem koli procesu/gostitelju (začenši z .NET Core 2.1 z uporabo IHost). Njegova glavna prednost je, da se to lahko izvede, ko se gostitelj pripravlja na izklopObstaja možnostNaredite običajno odpoved, da očistite kodo za ozadne naloge.
 Najemodajalec| Objavljeno 27. 4. 2021 ob 15:57:28 |
Registrirajte metodo razširitve storitev v zaledju

Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com