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

namespace XFEExtension.NetCore.ServerInteractive.Utilities.Server;

/// <summary>
/// XFE服务器
/// </summary>
[CreateImpl]
public class XFEServer
{
    internal readonly List<IServerInitializerService> ServerInitializerServiceList = [];
    internal readonly List<IServerService> ServerServiceList = [];
    internal readonly List<IAsyncServerService> AsyncServerServiceList = [];
    /// <summary>
    /// 核心服务器处理服务
    /// </summary>
    public IServerCoreProcessService ServerCoreProcessService { get; set; } = new ServerCoreProcessServiceBaseImpl();

    /// <summary>
    /// 启动服务器
    /// </summary>
    /// <returns></returns>
    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();
    }
}