XFEExtension.NetCore.ServerInteractive
[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFEExtension.NetCore.ServerInteractive.TServer/Program.cs
+1
-4
Modified
XFEExtension.NetCore.ServerInteractive/Implements/CoreService/ServerCoreStandardServiceBase.cs
+1
-1
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/ServerService/XFECoreServerProcessService.cs
+21
-21
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCoreBuilder.cs
+9
-2
Modified
XFEExtension.NetCore.ServerInteractive/XFEExtension.NetCore.ServerInteractive.csproj
+1
-1
XFEstudio/XFEExtension.NetCore.ServerInteractive
优化服务注册与路由机制,升级依赖并规范日志
本次提交包括以下主要变更: - Program.cs 增加主入口点配置,支持多IP绑定。 - ServerCoreStandardServiceBase 支持自动化路由注册,新增 EntryPointList。 - XFEServerCoreBuilder 服务注册机制优化,动态获取入口点,提升兼容性。 - XFECoreServerProcessService 日志输出格式规范化,去除多余空格。 - 升级 XFEExtension.NetCore.XFEConsole 至 2.1.0 版本。 - 整体提升了服务注册灵活性、日志可读性和系统可维护性。
13fb385
代码差异
5 个文件
+33
-29
@@ -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
})) // 构建核心服务器
@@ -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
/// 所有入口点路径列表(由增量生成器自动填充)
@@ -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
}
@@ -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
@@ -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>