Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 39816|Răspunde: 3

[.NET Core] Un serviciu bazat pe .NET Core pe Linux

[Copiază linkul]
Postat pe 29-10-2020 14:20:02 | | | |
.NET CORE 3.0 adaugă noi șabloane de proiect pentru Worker Services, care pot fi folosite pentru a scrie servicii de lungă durată în fundal și pentru a le implementa ușor ca servicii Windows sau demoni Linux. Dacă vs2019 instalat este versiunea chineză, Worker Services devine un rol de lucrător.

Mediu de sistem Linux: CentOS 8 x64-bit

Creează un nou proiect de Servicii pentru Lucrători

Mai întâi, deschiderea VS 2019 pentru a crea un nou proiect de Servicii pentru Muncitori.



Serviciile Linux, trebuie adăugate:

Dacă este un serviciu Windows, va trebui să adaugi:

Dacă vrei să rulezi un set de programe în mai multe locuri, poți instala două pachete simultan. Apoi, în CreateHostBuilder, adaugă UseWindowsService() și UseSystemd().



Funcția implementată de proiect este de a scrie jurnale în fișierul /test/file.txt, iar codul principal este următorul:



Codul sarcinii WriteFile este următorul:

Din cauza problemelor de permisiune, programul nu poate crea automat folderul /test, ceea ce va fi discutat mai jos.

Implementarea serviciilor pe CentOS

DaInstalează runtime-ul .NET Core(Excluzând suportul ASP.NET Core)




Dacă vrei să instalezi un runtime care suportă ASP.NET Core, poți rula următoarea comandă:

[rădăcină@localhost~]# dotnet --list-runtimes
Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]


Creează un folder /test și oferă permisiuni după cum urmează:

În folderul /etc/systemd/system, creați fișierul de configurare al serviciului itsvse.service astfel:

Adaugă conturi de serviciu și creează foldere

Publică și încarcă Job.Service pe serverul /home/dotnetuser/job directory și publică configurația astfel:



Pornește serviciul

După ce serviciul începe, poți vedea că poți scrie fișiere normal, așa cum se arată în figura următoare:



Descărcare cod sursă:

Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rogRăspunde


(Sfârșit)




Precedent:ASP.NET WebApi folosește MessageHandlers pentru a unifica formatul modelului interfeței de retur
Următor:Serviciul web API bazat pe consolă SelfHostServer
 Proprietarul| Postat pe 2020-10-30 09:28:44 |
Rezultat de exemplu:
informații: ExempluServiciuGăzduit[0]
//           1. StartAsync a fost chemat.
informații: ExempluServiciuGăzduit[0]
//           2. OnStarted a fost anunțat.
informații: Microsoft.Hosting.Lifetime[0]
Aplicația a început. Apasă Ctrl+C pentru a închide.
informații: Microsoft.Hosting.Lifetime[0]
Mediul de gazdă: Producție
informații: Microsoft.Hosting.Lifetime[0]
Traseul rădăcină al conținutului: .. \app-lifetime\bin\Debug\net5.0
informații: ExempluServiciuGăzduit[0]
//           3. OnStopping a fost chemată.
informații: Microsoft.Hosting.Lifetime[0]
Aplicația se închide...
informații: ExempluServiciuGăzduit[0]
//           4. StopAsync a fost chemat.
informații: ExempluServiciuGăzduit[0]
//           5. OnStopped a fost chemată.


 Proprietarul| Postat la 6-11-2020 13:53:00 |
clasă de rezumat public BackgroundService : IHostedService, IDisposable

Interfața IHostedService oferă o modalitate convenabilă de a începe sarcini de fundal în aplicațiile web Core ASP.NET (în .NET Core 2.0 și versiuni) sau pe orice proces/gazdă (începând cu .NET Core 2.1 folosind IHost). Principalul său avantaj este că se poate face atunci când gazda este pe punctul de a se opriExistă o șansăFă o anulare normală pentru a curăța codul pentru sarcinile de fundal.
 Proprietarul| Postat la 2021-4-27 15:57:28 |
Înregistrează metoda de extindere a serviciului backend

Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com