using XFEExtension.NetCore.AutoImplement; using XFEExtension.NetCore.ServerInteractive.Interfaces.ServerService; using XFEExtension.NetCore.ServerInteractive.Utilities.Server; namespace XFEExtension.NetCore.ServerInteractive.Implements.ServerService; /// /// 核心服务器处理服务基类 /// [CreateImpl] public abstract class ServerCoreProcessServiceBase : IServerCoreProcessService { /// public IReadOnlyList ServerCoreServiceList { get; set; } = []; /// public XFEServer XFEServer { get; set; } = null!; /// [Obsolete("请使用 StartAsync、RunAsync 和 StopAsync")] public abstract Task ProcessServerCore(); /// public virtual Task StartAsync(CancellationToken cancellationToken = default) => Task.CompletedTask; /// #pragma warning disable CS0618 public virtual Task RunAsync(CancellationToken cancellationToken = default) => ProcessServerCore().WaitAsync(cancellationToken); #pragma warning restore CS0618 /// public virtual Task StopAsync(CancellationToken cancellationToken = default) => Task.CompletedTask; }