Buy Me a Coffee

使用 .NET Core 在 Red Hat Linux 中開發服務應用程式

在 Red Hat Linux 或其他基於 Linux 的系統中開發服務程式時,一個有效的方法是使用 C# 與 .NET Core,並通過 systemd 服務單元進行管理。

1. 建立 C# 控制台應用程式

首先,建立一個 C# 控制台應用程式,這將作為服務運行。例如,建立一個簡單的 HelloService.cs,其內容大致如下:

// C# 程式碼範例,定期輸出訊息
using System;
using System.Threading;

namespace HelloService {
    class Program {
        static void Main(string[] args) {
            while (true) {
                Console.WriteLine("Hello from the service!");
                Thread.Sleep(5000); // 暫停 5 秒
            }
        }
    }
}

2. 發布 C# 應用程式

使用 dotnet CLI 工具發布應用程式至指定目錄:

dotnet publish -c Release -o /path/to/publish/directory

3. 建立 systemd 服務單元文件

/etc/systemd/system/ 目錄中建立 hello.service 服務文件:

sudo nano /etc/systemd/system/hello.service

在文件中添加以下配置:

[Unit]
Description=Hello C# Service

[Service]
ExecStart=/usr/bin/dotnet /path/to/publish/directory/HelloService.dll
Restart=always
RestartSec=10
SyslogIdentifier=dotnet-hello
User=your_username
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

4. 啟動和啟用服務

使用以下命令來啟動和設置服務自動啟動:

sudo systemctl daemon-reload
sudo systemctl start hello.service
sudo systemctl enable hello.service

5. 監控服務狀態

使用 systemctljournalctl 命令來監控和查看服務日誌:

sudo systemctl status hello.service
journalctl -fu hello.service

通過這些步驟,您可以在 Red Hat Linux 上使用 .NET Core 和 C# 開發高效的服務應用程式,並透過 systemd 進行管理和監控。這為 Linux 上的 C# 開發提供了一個強大的解決方案。