Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 39816|Odpověď: 3

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

[Kopírovat odkaz]
Zveřejněno 29. 10. 2020 14:20:02 | | | |
.NET CORE 3.0 přidává nové šablony projektů pro Worker Services, které lze použít k psaní dlouhodobě běžících služeb na pozadí a jejich snadnému nasazování jako Windows služeb nebo Linux démonů. Pokud je instalovaná vs2019 čínská verze, Worker Services se stává pracovní rolí.

Linuxové systémové prostředí: CentOS 8 x64-bit

Vytvořte nový projekt Worker Service

Nejprve otevřít VS 2019 a vytvořit nový projekt Worker Service.



Linuxové služby, je třeba dodat:

Pokud jde o službu pro Windows, budete muset přidat:

Pokud chcete spustit sadu programů na více místech, můžete nainstalovat dva balíčky najednou. Dále v CreateHostBuilder přidejte UseWindowsService() a UseSystemd().



Funkcí implementovanou projektem je zapisovat logy do souboru /test/file.txt a hlavní kód je následující:



Kód úlohy WriteFile je následující:

Kvůli problémům s oprávněními program nemůže automaticky vytvořit složku /test, což bude popsáno níže.

Nasazení služeb na CentOS

AnoNainstalujte runtime .NET Core(Kromě podpory ASP.NET Core)




Pokud chcete nainstalovat runtime, který podporuje ASP.NET Core, můžete spustit následující příkaz:

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


Vytvořte složku /test a udělte oprávnění následovně:

Pod složkou /etc/systemd/system vytvořte konfigurační soubor itsvse.service následovně:

Přidávat servisní účty a vytvářet složky

Publikujte a nahrajte Job.Service na server /home/dotnetuser/job adresář a publikujte konfiguraci následovně:



Zapněte službu

Po spuštění služby můžete vidět, že soubory lze zapisovat normálně, jak je znázorněno na následujícím obrázku:



Stažení zdrojového kódu:

Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosímOdpověď


(Konec)




Předchozí:ASP.NET WebApi používá MessageHandlery ke sjednocení formátu modelu return interface
Další:Webová API konzolová služba založená na HttpSelfHostServer
 Pronajímatel| Zveřejněno 30. 10. 2020 09:28:44 |
Ukázkový výstup:
info: ExampleHostedService[0]
//           1. StartAsync byl vyvolán.
info: ExampleHostedService[0]
//           2. OnStarted byl vyvolán.
info: Microsoft.Hosting.Lifetime[0]
Aplikace spuštěna. Stiskněte Ctrl+C pro vypnutí.
info: Microsoft.Hosting.Lifetime[0]
Prostředí pro hostování: Produkce
info: Microsoft.Hosting.Lifetime[0]
Kořenová cesta obsahu: .. \app-lifetime\bin\Debug\net5.0
info: ExampleHostedService[0]
//           3. Bylo vyvoláno OnStopping.
info: Microsoft.Hosting.Lifetime[0]
Aplikace se zavírá...
info: ExampleHostedService[0]
//           4. Byl vyvolán StopAsync.
info: ExampleHostedService[0]
//           5. OnStopped byl vyvolán.


 Pronajímatel| Zveřejněno 6. 11. 2020 13:53:00 |
třída public abstract BackgroundService : IHostedService, IDisposable

Rozhraní IHostedService poskytuje pohodlný způsob, jak spustit úkoly na pozadí v ASP.NET webových aplikacích Core (v .NET Core 2.0 a novějších) nebo na jakémkoli procesu/hostiteli (počínaje .NET Core 2.1 pomocí IHost). Jeho hlavní výhodou je, že to lze provést i ve chvíli, kdy se hostitel chystá vypnoutJe tu šanceUdělejte běžné zrušení, abyste vyčistili kód pro pozadí.
 Pronajímatel| Zveřejněno 27. 4. 2021 15:57:28 |
Zaregistrujte metodu rozšíření backendových služeb

Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com