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 XFEExtension.NetCore.AutoImplement;
using XFEExtension.NetCore.ServerInteractive.Interfaces.ServerService;
using XFEExtension.NetCore.ServerInteractive.Utilities.Server;

namespace XFEExtension.NetCore.ServerInteractive.Implements.ServerService;

/// <summary>
/// 核心服务器处理服务基类
/// </summary>
[CreateImpl]
public abstract class ServerCoreProcessServiceBase : IServerCoreProcessService
{
    /// <inheritdoc/>
    public IReadOnlyList<IServerCoreService> ServerCoreServiceList { get; set; } = [];
    /// <inheritdoc/>
    public XFEServer XFEServer { get; set; } = null!;
    /// <inheritdoc/>
    [Obsolete("请使用 StartAsync、RunAsync 和 StopAsync")]
    public abstract Task ProcessServerCore();

    /// <inheritdoc/>
    public virtual Task StartAsync(CancellationToken cancellationToken = default) => Task.CompletedTask;

    /// <inheritdoc/>
#pragma warning disable CS0618
    public virtual Task RunAsync(CancellationToken cancellationToken = default) => ProcessServerCore().WaitAsync(cancellationToken);
#pragma warning restore CS0618

    /// <inheritdoc/>
    public virtual Task StopAsync(CancellationToken cancellationToken = default) => Task.CompletedTask;
}