using XFEExtension.NetCore.AutoImplement; using XFEExtension.NetCore.ServerInteractive.Implements.ServerService; using XFEExtension.NetCore.ServerInteractive.Interfaces.ServerService; namespace XFEExtension.NetCore.ServerInteractive.Utilities.Server; /// /// XFE服务器 /// [CreateImpl] public class XFEServer { internal readonly List ServerInitializerServiceList = []; internal readonly List ServerServiceList = []; internal readonly List AsyncServerServiceList = []; /// /// 核心服务器处理服务 /// public IServerCoreProcessService ServerCoreProcessService { get; set; } = new ServerCoreProcessServiceBaseImpl(); /// /// 启动服务器 /// /// public async Task Start() { foreach (var serverInitializerService in ServerInitializerServiceList) serverInitializerService.Initialize(); foreach (var serverService in ServerServiceList) serverService.StartService(); foreach (var asyncServerService in AsyncServerServiceList) await asyncServerService.StartServiceAsync(); await ServerCoreProcessService.ProcessServerCore(); } }