XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension.NetCore.ServerInteractive

[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig

公开
关注 0 Fork 0 Star 0
UTF-8
using System.Timers;
using XFEExtension.NetCore.CyberComm;
using XFEExtension.NetCore.ServerInteractive.Implements.CoreService;

namespace XFEExtension.NetCore.ServerInteractive.Utilities.Server.Services.CoreService;

/// <summary>
/// 核心服务器天数服务
/// </summary>
public class DailyCounterService : ServerCoreOriginalServiceBase
{
    private int _runningDays;
    private DateTime _startTime;
    /// <inheritdoc/>
    public override void RequestReceived(object? sender, CyberCommRequestEventArgs e) { }

    /// <inheritdoc/>
    public override void ServerStarted(object? sender, EventArgs e)
    {
        Console.WriteLine($"[DEBUG]服务器({XFEServerCore.ServerCoreName})天数统计服务已启动!");
        _startTime = DateTime.Now;
        _runningDays = 0;
        var serverTimer = new System.Timers.Timer(TimeSpan.FromHours(24))
        {
            AutoReset = true
        };
        serverTimer.Elapsed += ServerTimer_Elapsed;
        serverTimer.Start();
    }

    private void ServerTimer_Elapsed(object? sender, ElapsedEventArgs e)
    {
        _runningDays++;
        Console.WriteLine($"[DEBUG]服务器({XFEServerCore.ServerCoreName})自上次({_startTime})启动以来,已稳定运行 {_runningDays}天");
    }
}