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
返回提交历史

XFEstudio/XFEExtension.NetCore.ServerInteractive

优化服务注册与路由机制,升级依赖并规范日志

本次提交包括以下主要变更: - Program.cs 增加主入口点配置,支持多IP绑定。 - ServerCoreStandardServiceBase 支持自动化路由注册,新增 EntryPointList。 - XFEServerCoreBuilder 服务注册机制优化,动态获取入口点,提升兼容性。 - XFECoreServerProcessService 日志输出格式规范化,去除多余空格。 - 升级 XFEExtension.NetCore.XFEConsole 至 2.1.0 版本。 - 整体提升了服务注册灵活性、日志可读性和系统可维护性。

13fb385
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

5 个文件 +33 -29
Modified XFEExtension.NetCore.ServerInteractive.TServer/Program.cs +1 -4
@@ -21,14 +21,11 @@ var server = XFEServerBuilder.CreateBuilder() // 创建服务器构建器
21 21 options.RemoveEncryptedUserLoginModelFunction = static user => UserProfile.EncryptedUserLoginModelTable.Remove(user); // 移除用户加密模型的方法
22 22 options.GetLoginKeepDays = static () => 7; // 获取登录维持天数方法
23 23 options.LoginResultConvertFunction = static user => (IUserFaceInfo)user; // 登录结果转换方法
24 options.DataTableManagerBuilder = XFEDataTableManagerBuilder.CreateBuilder() // 创建DataTable管理器构建器
25 .AddTable<Person, DataProfile>("人物", (int)UserRole.业务员, (int)UserRole.经理, (int)UserRole.业务员, (int)UserRole.业务员) // 添加名为人物的格, Person 类 型, AutoConfig为 DataProfile。添加更改获取权限为业务员,移除权限为经理
26 .AddTable<Order, DataProfile>("订单", (int)UserRole.业务员, (int)UserRole.经理, (int)UserRole.业务员, (int)UserRole.业务员) // 添加名为订单的表格Order 类 型, AutoConfig 为 DataProfile。添加更改获取权限为业务员,移除权限为经理
27 .AddTable<User, UserProfile>("用户", (int)UserRole.经理, (int)UserRole.经理, (int)UserRole.经理, (int)UserRole.业务员); // 添加名为用户的表格User类 型, AutoConfig为 UserProfile。获取权限为业务员,添加移除更改权限为经理
28 24 })
29 25 .AddService<TestCoreService>()
30 26 .Build(options =>
31 27 {
28 options.MainEntryPoint = "api";
32 29 options.BindIP("http://localhost:3305/")
33 30 .BindIP("https://localhost:3306/");
34 31 })) // 构建核心服务器
Modified XFEExtension.NetCore.ServerInteractive/Implements/CoreService/ServerCoreStandardServiceBase.cs +1 -1
@@ -5,7 +5,7 @@ namespace XFEExtension.NetCore.ServerInteractive.Implements.CoreService;
5 5 /// <summary>
6 6 /// 服务器标准核心服务基类
7 7 /// </summary>
8 public abstract class ServerCoreStandardServiceBase : XFEServerCoreServiceBase, IServerCoreStandardService, IServerCoreRouteProvider
8 public abstract partial class ServerCoreStandardServiceBase : XFEServerCoreServiceBase, IServerCoreStandardService, IServerCoreRouteProvider
9 9 {
10 10 /// <summary>
11 11 /// 所有入口点路径列表(由增量生成器自动填充)
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/ServerService/XFECoreServerProcessService.cs +21 -21
@@ -14,7 +14,7 @@ public class XFEServerCoreProcessService : ServerCoreProcessServiceBase
14 14 {
15 15 try
16 16 {
17 Console.WriteLine(File.Exists("server.log") ? "[DEBUG] 找到日志文件!" : "[DEBUG] 未找到日志文件!");
17 Console.WriteLine(File.Exists("server.log") ? "[DEBUG]找到日志文件!" : "[DEBUG]未找到日志文件!");
18 18 var taskList = ServerCoreServiceList.Select(serverCoreService => Task.Run(async () =>
19 19 {
20 20 while (true)
@@ -22,29 +22,29 @@ public class XFEServerCoreProcessService : ServerCoreProcessServiceBase
22 22 try
23 23 {
24 24 var i = 0;
25 Console.WriteLine($"[DEBUG] 正在启动服务器:{serverCoreService.ServerCoreName}...");
26 serverCoreService.BindingIPAddressList.ForEach(ip => Console.WriteLine($"[DEBUG] {serverCoreService.ServerCoreName}绑定IP-{++i}:{ip}"));
25 Console.WriteLine($"[DEBUG]正在启动服务器:{serverCoreService.ServerCoreName}...");
26 serverCoreService.BindingIPAddressList.ForEach(ip => Console.WriteLine($"[DEBUG]{serverCoreService.ServerCoreName}绑定IP-{++i}:{ip}"));
27 27 await serverCoreService.StartServerCore();
28 Console.WriteLine($"[ERROR] 服务器({serverCoreService.ServerCoreName})因未知原因自行结束!");
29 Console.WriteLine("[DEBUG] 准备重启服务器({serverCoreService.ServerCoreName})");
28 Console.WriteLine($"[ERROR]服务器({serverCoreService.ServerCoreName})因未知原因自行结束!");
29 Console.WriteLine($"[DEBUG]准备重启服务器({serverCoreService.ServerCoreName})");
30 30 await Task.Delay(1000);
31 Console.WriteLine("[DEBUG] 正在重启服务器({serverCoreService.ServerCoreName}) 3...");
31 Console.WriteLine($"[DEBUG]正在重启服务器({serverCoreService.ServerCoreName}) 3...");
32 32 await Task.Delay(1000);
33 Console.WriteLine("[DEBUG] 正在重启服务器({serverCoreService.ServerCoreName}) 2...");
33 Console.WriteLine($"[DEBUG]正在重启服务器({serverCoreService.ServerCoreName}) 2...");
34 34 await Task.Delay(1000);
35 Console.WriteLine("[DEBUG] 正在重启服务器({serverCoreService.ServerCoreName}) 1...");
35 Console.WriteLine($"[DEBUG]正在重启服务器({serverCoreService.ServerCoreName}) 1...");
36 36 }
37 37 catch (Exception ex)
38 38 {
39 Console.WriteLine($"[ERROR] 服务器({serverCoreService.ServerCoreName})错误:{ex.Message}:{ex.InnerException?.Message}");
40 Console.WriteLine($"[TRACE] {ex.StackTrace}");
41 Console.WriteLine($"[DEBUG] 准备重启服务器({serverCoreService.ServerCoreName})");
39 Console.WriteLine($"[ERROR]服务器({serverCoreService.ServerCoreName})错误:{ex.Message}:{ex.InnerException?.Message}");
40 Console.WriteLine($"[TRACE]{ex.StackTrace}");
41 Console.WriteLine($"[DEBUG]准备重启服务器({serverCoreService.ServerCoreName})");
42 42 await Task.Delay(1000);
43 Console.WriteLine($"[DEBUG] 正在重启服务器({serverCoreService.ServerCoreName}) 3...");
43 Console.WriteLine($"[DEBUG]正在重启服务器({serverCoreService.ServerCoreName}) 3...");
44 44 await Task.Delay(1000);
45 Console.WriteLine($"[DEBUG] 正在重启服务器({serverCoreService.ServerCoreName}) 2...");
45 Console.WriteLine($"[DEBUG]正在重启服务器({serverCoreService.ServerCoreName}) 2...");
46 46 await Task.Delay(1000);
47 Console.WriteLine($"[DEBUG] 正在重启服务器({serverCoreService.ServerCoreName}) 1...");
47 Console.WriteLine($"[DEBUG]正在重启服务器({serverCoreService.ServerCoreName}) 1...");
48 48 }
49 49 }
50 50 }))
@@ -53,16 +53,16 @@ public class XFEServerCoreProcessService : ServerCoreProcessServiceBase
53 53 }
54 54 catch (Exception ex)
55 55 {
56 Console.WriteLine($"[DEBUG] 服务器错误:{ex}");
57 Console.WriteLine($"[ERROR] 服务器错误:{ex.Message}");
58 Console.WriteLine($"[TRACE] {ex.StackTrace}");
59 Console.WriteLine("[DEBUG] 准备重启服务器");
56 Console.WriteLine($"[DEBUG]服务器错误:{ex}");
57 Console.WriteLine($"[ERROR]服务器错误:{ex.Message}");
58 Console.WriteLine($"[TRACE]{ex.StackTrace}");
59 Console.WriteLine("[DEBUG]准备重启服务器");
60 60 await Task.Delay(1000);
61 Console.WriteLine("[DEBUG] 正在重启服务器 3...");
61 Console.WriteLine("[DEBUG]正在重启服务器 3...");
62 62 await Task.Delay(1000);
63 Console.WriteLine("[DEBUG] 正在重启服务器 2...");
63 Console.WriteLine("[DEBUG]正在重启服务器 2...");
64 64 await Task.Delay(1000);
65 Console.WriteLine("[DEBUG] 正在重启服务器 1...");
65 Console.WriteLine("[DEBUG]正在重启服务器 1...");
66 66 }
67 67 }
68 68 }
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCoreBuilder.cs +9 -2
@@ -69,9 +69,16 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
69 69 /// </summary>
70 70 /// <typeparam name="T">服务泛型</typeparam>
71 71 /// <returns>XFE服务器核心构建器</returns>
72 public XFEServerCoreBuilder AddService<T>() where T : IServerCoreStandardService, IServerCoreRouteProvider, new()
72 public XFEServerCoreBuilder AddService<T>() where T : IServerCoreStandardService, new()
73 73 {
74 var entryPointList = T.EntryPointList;
74 var probeService = new T();
75 ApplyParameter(probeService);
76
77 var entryPointList = probeService.SyncEntryPoints.Keys
78 .Concat(probeService.AsyncEntryPoints.Keys)
79 .Distinct()
80 .ToList();
81
75 82 if (entryPointList is null || entryPointList.Count == 0)
76 83 throw new InvalidOperationException($"类型 {typeof(T).Name} 的 EntryPointList 为空");
77 84
Modified XFEExtension.NetCore.ServerInteractive/XFEExtension.NetCore.ServerInteractive.csproj +1 -1
@@ -58,7 +58,7 @@
58 58 <PackageReference Include="XFEExtension.NetCore" Version="4.2.*" />
59 59 <PackageReference Include="XFEExtension.NetCore.AutoConfig" Version="2.0.*" />
60 60 <PackageReference Include="XFEExtension.NetCore.AutoImplement" Version="1.1.*" />
61 <PackageReference Include="XFEExtension.NetCore.XFEConsole" Version="2.0.*" />
61 <PackageReference Include="XFEExtension.NetCore.XFEConsole" Version="2.1.0" />
62 62 </ItemGroup>
63 63
64 64 <ItemGroup>