.NET CORE 3.0 fügt neue Projektvorlagen für Worker Services hinzu, mit denen langlaufende Hintergrunddienste geschrieben und einfach als Windows-Dienste oder Linux-Daemons bereitgestellt werden können. Wenn der installierte vs2019 die chinesische Version ist, wird Worker Services zur Worker-Rolle.
Linux-Systemumgebung: CentOS 8 x64-Bit
Erstelle ein neues Worker Service-Projekt
Zuerst VS 2019 öffnen, um ein neues Worker Service-Projekt zu erstellen.
Linux-Dienste, muss hinzugefügt werden:
Wenn es sich um einen Windows-Dienst handelt, musst du hinzufügen:
Wenn du eine Reihe von Programmen an mehreren Orten ausführen möchtest, kannst du einfach zwei Pakete gleichzeitig installieren. Als Nächstes fügen Sie in CreateHostBuilder UseWindowsService() und UseSystemd() hinzu.
Die vom Projekt implementierte Funktion besteht darin, Logs in die /test/file.txt-Datei zu schreiben, und der Hauptcode ist wie folgt:
Der WriteFile-Aufgabencode ist wie folgt:
Aufgrund von Berechtigungsproblemen kann das Programm den /test-Ordner nicht automatisch erstellen, was im Folgenden besprochen wird.
Dienste auf CentOS bereitstellen
JaInstallieren Sie die .NET Core Laufzeitumgebung(Ausgenommen ASP.NET Core-Support)
Wenn Sie eine Laufzeit installieren möchten, die ASP.NET Core unterstützt, können Sie folgenden Befehl ausführen:
[Wurzel@localhost~]# dotnet --list-runtimes Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
Erstelle einen /test-Ordner und gib folgende Berechtigungen an:
Unter dem Ordner /etc/systemd/system erstellen Sie die itsvse.service Service-Konfigurationsdatei wie folgt:
Servicekonten hinzufügen und Ordner erstellen
Veröffentlichen und laden Sie Job.Service in das Serververzeichnis /home/dotnetuser/job hoch und veröffentlichen Sie die Konfiguration wie folgt:
Schalten Sie den Dienst ein
Nachdem der Dienst gestartet ist, sehen Sie, dass Sie Dateien normal schreiben können, wie in der folgenden Abbildung gezeigt:
Quellcode-Download:
Touristen, wenn ihr den versteckten Inhalt dieses Beitrags sehen wollt, bitte Antwort
(Ende)
|