Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 39816|Risposta: 3

[.NET Core] Un servizio basato su .NET Core su Linux

[Copiato link]
Pubblicato il 29-10-2020 14:20:02 | | | |
.NET CORE 3.0 aggiunge nuovi modelli di progetto per i Worker Services, che possono essere utilizzati per scrivere servizi in background di lunga durata e distribuirli facilmente come servizi Windows o demoni Linux. Se il vs2019 installato è la versione cinese, i Servizi per i Lavoratori diventano un ruolo di lavoratore.

Ambiente di sistema Linux: CentOS 8 x64-bit

Creare un nuovo progetto di Servizio ai Lavoratori

Innanzitutto, aprire il VS 2019 per creare un nuovo progetto di Servizio ai Lavoratori.



Servizi Linux, necessità aggiungere:

Se è un servizio Windows, dovrai aggiungere:

Se vuoi eseguire un set di programmi in più posti, puoi semplicemente installare due pacchetti contemporaneamente. Successivamente, in CreateHostBuilder, aggiungi UseWindowsService() e UseSystemd().



La funzione implementata dal progetto è scrivere i log nel file /test/file.txt, e il codice principale è il seguente:



Il codice del compito WriteFile è il seguente:

A causa di problemi di autorizzazione, il programma non può creare automaticamente la cartella /test, cosa che sarà discussa di seguito.

Distribuire i servizi su CentOS

Installa il runtime di .NET Core(Escludendo ASP.NET supporto Core)




Se vuoi installare un runtime che supporti ASP.NET Core, puoi eseguire il seguente comando:

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


Crea una cartella /test e concedi i permessi come segue:

Sotto la cartella /etc/systemd/system, crea il file di configurazione del servizio itsvse.service come segue:

Aggiungi account di servizio e crea cartelle

Pubblica e carica Job.Service sulla directory server /home/dotnetuser/job e pubblica la configurazione come segue:



Attiva il servizio

Dopo l'avvio del servizio, puoi vedere che puoi scrivere file normalmente, come mostrato nella figura seguente:



Scarica codice sorgente:

Turisti, se volete vedere il contenuto nascosto di questo post, vi pregoRisposta


(Fine)




Precedente:ASP.NET WebApi utilizza MessageHandler per unificare il formato del modello dell'interfaccia di ritorno
Prossimo:Servizio web API console basato su HttpSelfHostServer
 Padrone di casa| Pubblicato il 30-10-2020 09:28:44 |
Esempio di output:
info: EsempioHostedService[0]
//           1. StartAsync è stato chiamato.
info: EsempioHostedService[0]
//           2. OnStarted è stato chiamato.
info: Microsoft.Hosting.Lifetime[0]
Domanda iniziata. Premi Ctrl+C per spegnere.
info: Microsoft.Hosting.Lifetime[0]
Ambiente di hosting: Produzione
info: Microsoft.Hosting.Lifetime[0]
Percorso radice del contenuto: .. \app-lifetime\bin\Debug\net5.0
info: EsempioHostedService[0]
//           3. È stato chiamato OnStopping.
info: Microsoft.Hosting.Lifetime[0]
L'applicazione si sta chiudendo...
info: EsempioHostedService[0]
//           4. StopAsync è stato chiamato.
info: EsempioHostedService[0]
//           5. OnStopped è stato chiamato.


 Padrone di casa| Pubblicato il 6-11-2020 13:53:00 |
corso di abstract pubblico BackgroundService : IHostedService, IDisposable

L'interfaccia IHostedService offre un modo comodo per avviare attività in background nelle applicazioni web Core di ASP.NET (in .NET Core 2.0 e successive) o su qualsiasi processo/host (a partire da .NET Core 2.1 usando IHost). Il suo principale vantaggio è che può essere fatto quando l'host stesso sta per spegnereC'è una possibilitàFai una cancellazione normale per pulire il codice delle attività in background.
 Padrone di casa| Pubblicato il 27-04-2021 15:57:28 |
Registra il metodo di estensione del servizio backend

Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com