Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 39816|Odpoveď: 3

[.NET Core] Služba založená na .NET Core na Linuxe

[Kopírovať odkaz]
Zverejnené 29.10.2020 14:20:02 | | | |
.NET CORE 3.0 pridáva nové šablóny projektov pre Worker Services, ktoré možno použiť na písanie dlhodobo bežiacich služieb na pozadí a ich jednoduché nasadenie ako Windows služby alebo Linux démonov. Ak je nainštalovaná vs2019 čínska verzia, pracovné služby sa stávajú pracovnou rolou.

Linuxové systémové prostredie: CentOS 8 x64-bit

Vytvoriť nový projekt Worker Service

Najprv otvoriť VS 2019 na vytvorenie nového projektu Worker Service.



Linuxové služby, treba pridať:

Ak ide o službu pre Windows, budete musieť pridať:

Ak chcete spustiť sadu programov na viacerých miestach, môžete jednoducho nainštalovať dva balíky naraz. Ďalej v CreateHostBuilder pridajte UseWindowsService() a UseSystemd().



Funkcia implementovaná projektom spočíva v zapisovaní logov do súboru /test/file.txt a hlavný kód je nasledovný:



Kód úlohy WriteFile je nasledovný:

Kvôli problémom s oprávneniami program nemôže automaticky vytvoriť priečinok /test, o čom budeme hovoriť nižšie.

Nasadzovanie služieb na CentOS

ÁnoNainštalujte runtime .NET Core(Okrem podpory ASP.NET Core)




Ak chcete nainštalovať runtime, ktorý podporuje ASP.NET Core, môžete spustiť nasledujúci príkaz:

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


Vytvorte priečinok /test a udeľte povolenia nasledovne:

V priečinku /etc/systemd/system vytvorte konfiguračný súbor itsvse.service nasledovne:

Pridajte servisné účty a vytvárajte priečinky

Publikujte a nahrajte Job.Service do adresára server /home/dotnetuser/job a publikujte konfiguráciu nasledovne:



Zapnite službu

Po spustení služby vidíte, že súbory môžete zapisovať normálne, ako je znázornené na nasledujúcom obrázku:



Stiahnutie zdrojového kódu:

Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím.Odpoveď


(Koniec)




Predchádzajúci:ASP.NET WebApi používa MessageHandlery na zjednotenie formátu modelu return interface
Budúci:Webová webová API konzola založená na HttpSelfHostServer
 Prenajímateľ| Zverejnené 30.10.2020 09:28:44 |
Ukážkový výstup:
info: ExampleHostedService[0]
//           1. StartAsync bol zavolaný.
info: ExampleHostedService[0]
//           2. OnStarted bol zavolaný.
info: Microsoft.Hosting.Lifetime[0]
Začala sa prihláška. Stlačte Ctrl+C na vypnutie.
info: Microsoft.Hosting.Lifetime[0]
Hostiteľské prostredie: Produkcia
info: Microsoft.Hosting.Lifetime[0]
Obsahová koreňová cesta: .. \app-lifetime\bin\Debug\net5.0
info: ExampleHostedService[0]
//           3. Bol zavolaný OnStopping.
info: Microsoft.Hosting.Lifetime[0]
Aplikácia sa zatvára...
info: ExampleHostedService[0]
//           4. Bol zavolaný StopAsync.
info: ExampleHostedService[0]
//           5. OnStopped bol zavolaný.


 Prenajímateľ| Zverejnené 6.11.2020 o 13:53:00 |
public abstract class BackgroundService : IHostedService, IDisposable

Rozhranie IHostedService poskytuje pohodlný spôsob spustenia úloh na pozadí v ASP.NET webových aplikáciách Core (v .NET Core 2.0 a novších) alebo na ľubovoľnom procese/hostiteľovi (začínajúc .NET Core 2.1 pomocou IHost). Jeho hlavnou výhodou je, že sa to dá urobiť, keď sa hostiteľ chystá vypnúťExistuje šancaUrobte bežné zrušenie, aby ste vyčistili kód pre úlohy na pozadí.
 Prenajímateľ| Zverejnené 27.4.2021 o 15:57:28 |
Zaregistrujte metódu rozšírenia backendových služieb

Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com