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

更新命名

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

代码差异

19 个文件 +72 -70
Modified README.md +1 -1
@@ -15,7 +15,7 @@ ServerInteractive是一个C#的DLL库,其负责搭建以XFEExtension.NetCore
15 15 ```csharp
16 16 var server = XFEServerBuilder.CreateBuilder() // 创建服务器构建器
17 17 .UseXFEServer() // 使用XFE服务器架构
18 .AddCoreServer( // 添加核心服务器
18 .AddServerCore( // 添加核心服务器
19 19 XFEServerCoreBuilder.CreateBuilder() // 创建核心服务器构建器
20 20 .UseXFEStandardServerCore( // 使用XFE标准服务器核心
21 21 static () => UserProfile.UserTable, // 获取用户表的方法
Modified XFEExtension.NetCore.ServerInteractive.TServer/Program.cs +2 -1
@@ -9,7 +9,7 @@ using XFEExtension.NetCore.ServerInteractive.Utilities.Server;
9 9
10 10 var server = XFEServerBuilder.CreateBuilder() // 创建服务器构建器
11 11 .UseXFEServer() // 使用XFE服务器架构
12 .AddCoreServer( // 添加核心服务器
12 .AddServerCore( // 添加核心服务器
13 13 XFEServerCoreBuilder.CreateBuilder() // 创建核心服务器构建器
14 14 .UseXFEStandardServerCore( // 使用XFE标准服务器核心
15 15 static () => UserProfile.UserTable, // 获取用户表的方法
@@ -22,6 +22,7 @@ var server = XFEServerBuilder.CreateBuilder() // 创建服务器构建器
22 22 .AddTable<Person, DataProfile>("人物", (int)UserRole.业务员, (int)UserRole.经理, (int)UserRole.业务员, (int)UserRole.业务员) // 添加名为人物的表格,Person类型,AutoConfig为DataProfile。添加更改获取权限为业务员,移除权限为经理
23 23 .AddTable<Order, DataProfile>("订单", (int)UserRole.业务员, (int)UserRole.经理, (int)UserRole.业务员, (int)UserRole.业务员) // 添加名为订单的表格,Order类型,AutoConfig为DataProfile。添加更改获取权限为业务员,移除权限为经理
24 24 .AddTable<User, UserProfile>("用户", (int)UserRole.经理, (int)UserRole.经理, (int)UserRole.经理, (int)UserRole.业务员)) // 添加名为用户的表格,User类型,AutoConfig为UserProfile。获取权限为业务员,添加移除更改权限为经理
25 .AddService<>()
25 26 .Build()) // 构建核心服务器
26 27 .Build(); // 构建服务器
27 28 await server.Start(); // 启动服务
Modified XFEExtension.NetCore.ServerInteractive/Implements/ServerService/CoreServerProcessServiceBase.cs +3 -3
@@ -8,12 +8,12 @@ namespace XFEExtension.NetCore.ServerInteractive.Implements.ServerService;
8 8 /// 核心服务器处理服务基类
9 9 /// </summary>
10 10 [CreateImpl]
11 public abstract class CoreServerProcessServiceBase : ICoreServerProcessService
11 public abstract class ServerCoreProcessServiceBase : IServerCoreProcessService
12 12 {
13 13 /// <inheritdoc/>
14 public IReadOnlyList<ICoreServerService> CoreServerServiceList { get; set; } = [];
14 public IReadOnlyList<IServerCoreService> ServerCoreServiceList { get; set; } = [];
15 15 /// <inheritdoc/>
16 16 public XFEServer XFEServer { get; set; }
17 17 /// <inheritdoc/>
18 public abstract Task ProcessCoreServer();
18 public abstract Task ProcessServerCore();
19 19 }
Modified XFEExtension.NetCore.ServerInteractive/Implements/ServerService/CoreServerProcessServiceBaseImpl.cs +2 -2
@@ -1,7 +1,7 @@
1 1 namespace XFEExtension.NetCore.ServerInteractive.Implements.ServerService;
2 2
3 internal partial class CoreServerProcessServiceBaseImpl
3 internal partial class ServerCoreProcessServiceBaseImpl
4 4 {
5 5 /// <inheritdoc/>
6 public override Task ProcessCoreServer() => Task.CompletedTask;
6 public override Task ProcessServerCore() => Task.CompletedTask;
7 7 }
Modified XFEExtension.NetCore.ServerInteractive/Implements/ServerService/CoreServerServiceBase.cs +2 -2
@@ -6,12 +6,12 @@ namespace XFEExtension.NetCore.ServerInteractive.Implements.ServerService;
6 6 /// <summary>
7 7 /// 核心服务器服务基类
8 8 /// </summary>
9 public abstract class CoreServerServiceBase : ICoreServerService
9 public abstract class ServerCoreServiceBase : IServerCoreService
10 10 {
11 11 /// <inheritdoc/>
12 12 public XFEServer XFEServer { get; set; }
13 13 /// <inheritdoc/>
14 public string CoreServerName { get; set; } = string.Empty;
14 public string ServerCoreName { get; set; } = string.Empty;
15 15 /// <inheritdoc/>
16 16 public string BindingIPAddress { get; set; } = string.Empty;
17 17
Modified XFEExtension.NetCore.ServerInteractive/Interfaces/CoreService/IServerCoreVerifyService.cs +2 -1
@@ -1,4 +1,5 @@
1 using XFEExtension.NetCore.CyberComm;
1 using System.Net;
2 using XFEExtension.NetCore.CyberComm;
2 3 using XFEExtension.NetCore.ServerInteractive.Models.ServerModels;
3 4
4 5 namespace XFEExtension.NetCore.ServerInteractive.Interfaces.CoreService;
Modified XFEExtension.NetCore.ServerInteractive/Interfaces/ServerService/ICoreServerProcessService.cs +3 -3
@@ -3,15 +3,15 @@
3 3 /// <summary>
4 4 /// 核心服务器处理服务
5 5 /// </summary>
6 public interface ICoreServerProcessService : IXFEServerServiceBase
6 public interface IServerCoreProcessService : IXFEServerServiceBase
7 7 {
8 8 /// <summary>
9 9 /// 核心服务器列表
10 10 /// </summary>
11 IReadOnlyList<ICoreServerService> CoreServerServiceList { get; set; }
11 IReadOnlyList<IServerCoreService> ServerCoreServiceList { get; set; }
12 12 /// <summary>
13 13 /// 处理核心服务器
14 14 /// </summary>
15 15 /// <returns></returns>
16 Task ProcessCoreServer();
16 Task ProcessServerCore();
17 17 }
Modified XFEExtension.NetCore.ServerInteractive/Interfaces/ServerService/ICoreServerService.cs +2 -2
@@ -3,7 +3,7 @@
3 3 /// <summary>
4 4 /// 核心服务器服务
5 5 /// </summary>
6 public interface ICoreServerService : IXFEServerServiceBase
6 public interface IServerCoreService : IXFEServerServiceBase
7 7 {
8 8 /// <summary>
9 9 /// 绑定的IP地址(服务初始化执行完成后才会刷新)
@@ -12,7 +12,7 @@ public interface ICoreServerService : IXFEServerServiceBase
12 12 /// <summary>
13 13 /// 核心服务器名称
14 14 /// </summary>
15 string CoreServerName { get; set; }
15 string ServerCoreName { get; set; }
16 16 /// <summary>
17 17 /// 启动核心服务器
18 18 /// </summary>
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/CoreServerExceptionProcessService.cs +2 -2
@@ -7,7 +7,7 @@ namespace XFEExtension.NetCore.ServerInteractive.Utilities.Server.Services.CoreS
7 7 /// <summary>
8 8 /// 核心服务器异常处理服务
9 9 /// </summary>
10 public class CoreServerExceptionProcessService : ServerCoreRegisterServiceBase
10 public class ServerCoreExceptionProcessService : ServerCoreRegisterServiceBase
11 11 {
12 12 /// <inheritdoc/>
13 13 public override void RequestReceived(object? sender, CyberCommRequestEventArgs e) { }
@@ -15,7 +15,7 @@ public class CoreServerExceptionProcessService : ServerCoreRegisterServiceBase
15 15 /// <inheritdoc/>
16 16 public override void ServerStarted(object? sender, EventArgs e)
17 17 {
18 Console.WriteLine($"服务器({XFEServerCore.CoreServerName})已启动!");
18 Console.WriteLine($"服务器({XFEServerCore.ServerCoreName})已启动!");
19 19 XFEServerCore.ServerCoreError += XFEServerCore_ServerCoreError;
20 20 }
21 21
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/DailyCounterService.cs +3 -3
@@ -18,7 +18,7 @@ public class DailyCounterService : ServerCoreRegisterServiceBase
18 18 /// <inheritdoc/>
19 19 public override void ServerStarted(object? sender, EventArgs e)
20 20 {
21 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.CoreServerName})天数统计服务已启动!");
21 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.ServerCoreName})天数统计服务已启动!");
22 22 startTime = DateTime.Now;
23 23 runningDays = 0;
24 24 var serverTimer = new System.Timers.Timer(TimeSpan.FromHours(24))
@@ -32,7 +32,7 @@ public class DailyCounterService : ServerCoreRegisterServiceBase
32 32 private void ServerTimer_Elapsed(object? sender, ElapsedEventArgs e)
33 33 {
34 34 runningDays++;
35 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.CoreServerName})自上次({startTime})启动以来,已稳定运行 {runningDays}天");
35 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.ServerCoreName})自上次({startTime})启动以来,已稳定运行 {runningDays}天");
36 36 try
37 37 {
38 38 Console.WriteLine("[DEBUG]正在保存日志...");
@@ -41,7 +41,7 @@ public class DailyCounterService : ServerCoreRegisterServiceBase
41 41 }
42 42 catch (Exception ex)
43 43 {
44 Console.WriteLine($"[ERROR]服务器({XFEServerCore.CoreServerName})保存日志时发生错误:{ex.Message}");
44 Console.WriteLine($"[ERROR]服务器({XFEServerCore.ServerCoreName})保存日志时发生错误:{ex.Message}");
45 45 Console.WriteLine($"[TRACE]{ex.StackTrace}");
46 46 }
47 47 }
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/UserLoginAutoCleanService.cs +5 -5
@@ -38,7 +38,7 @@ public class UserLoginAutoCleanService : ServerCoreRegisterServiceBase, IUserSer
38 38 /// <inheritdoc/>
39 39 public override void ServerStarted(object? sender, EventArgs e)
40 40 {
41 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.CoreServerName})用户登录到期清除服务已启动!");
41 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.ServerCoreName})用户登录到期清除服务已启动!");
42 42 var serverTimer = new System.Timers.Timer(TimeSpan.FromHours(12))
43 43 {
44 44 AutoReset = true
@@ -49,7 +49,7 @@ public class UserLoginAutoCleanService : ServerCoreRegisterServiceBase, IUserSer
49 49
50 50 private void ServerTimer_Elapsed(object? sender, ElapsedEventArgs e)
51 51 {
52 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.CoreServerName})正在清理过期的Session...");
52 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.ServerCoreName})正在清理过期的Session...");
53 53 try
54 54 {
55 55 var expiredSessions = GetEncryptedUserLoginModelFunction().Where(user => user.UserLoginModel.EndDateTime < DateTime.Now).ToList();
@@ -61,11 +61,11 @@ public class UserLoginAutoCleanService : ServerCoreRegisterServiceBase, IUserSer
61 61 Console.WriteLine($"[DEBUG]用户 {expiredSession.UserLoginModel.UID} 的登录已过期,正在清理...");
62 62 RemoveEncryptedUserLoginModelFunction(expiredSession);
63 63 }
64 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.CoreServerName})过期的Session已清理完毕!");
64 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.ServerCoreName})过期的Session已清理完毕!");
65 65 }
66 66 else
67 67 {
68 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.CoreServerName})没有过期的Session需要清理。");
68 Console.WriteLine($"[DEBUG]服务器({XFEServerCore.ServerCoreName})没有过期的Session需要清理。");
69 69 }
70 70 Console.WriteLine("[DEBUG]正在保存日志...");
71 71 XFEConsole.XFEConsole.Log.Export().WriteIn("server.log");
@@ -73,7 +73,7 @@ public class UserLoginAutoCleanService : ServerCoreRegisterServiceBase, IUserSer
73 73 }
74 74 catch (Exception ex)
75 75 {
76 Console.WriteLine($"[ERROR]服务器({XFEServerCore.CoreServerName})清理过期Session时发生错误:{ex.Message}");
76 Console.WriteLine($"[ERROR]服务器({XFEServerCore.ServerCoreName})清理过期Session时发生错误:{ex.Message}");
77 77 Console.WriteLine($"[TRACE]{ex.StackTrace}");
78 78 }
79 79 }
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/ServerService/ServerIpInitializer.cs +7 -7
@@ -12,12 +12,12 @@ public class ServerIpInitializer : ServerInitializerServiceBase
12 12 /// <inheritdoc/>
13 13 public override void Initialize()
14 14 {
15 foreach (var coreServerService in XFEServer.CoreServerProcessService.CoreServerServiceList)
15 foreach (var serverCoreService in XFEServer.ServerCoreProcessService.ServerCoreServiceList)
16 16 {
17 ServerBaseProfile.ServerLastBindingAddressDictionary.TryAdd(coreServerService.CoreServerName, "http://localhost:8080/");
18 if (ServerBaseProfile.ServerLastBindingAddressDictionary.TryGetValue(coreServerService.CoreServerName, out var ipAddress))
17 ServerBaseProfile.ServerLastBindingAddressDictionary.TryAdd(serverCoreService.ServerCoreName, "http://localhost:8080/");
18 if (ServerBaseProfile.ServerLastBindingAddressDictionary.TryGetValue(serverCoreService.ServerCoreName, out var ipAddress))
19 19 {
20 Console.WriteLine($"正在设置服务器:{coreServerService.CoreServerName}");
20 Console.WriteLine($"正在设置服务器:{serverCoreService.ServerCoreName}");
21 21 Console.WriteLine($"是否绑定上一次IP:{ipAddress}?(Y/N)");
22 22 var key = Console.ReadKey();
23 23 Console.WriteLine(key.Key.ToString());
@@ -29,10 +29,10 @@ public class ServerIpInitializer : ServerInitializerServiceBase
29 29 Console.Write("请输入绑定的IP:");
30 30 ipAddress = Console.ReadLine();
31 31 }
32 ServerBaseProfile.ServerLastBindingAddressDictionary[coreServerService.CoreServerName] = ipAddress;
32 ServerBaseProfile.ServerLastBindingAddressDictionary[serverCoreService.ServerCoreName] = ipAddress;
33 33 }
34 coreServerService.BindingIPAddress = ipAddress;
35 Console.WriteLine($"服务器{coreServerService.CoreServerName}设置完成!IP为:{ipAddress}");
34 serverCoreService.BindingIPAddress = ipAddress;
35 Console.WriteLine($"服务器{serverCoreService.ServerCoreName}设置完成!IP为:{ipAddress}");
36 36 }
37 37 }
38 38 ServerBaseProfile.SaveProfile();
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/ServerService/XFECoreServerProcessService.cs +15 -15
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServer.cs +2 -2
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerBuilder.cs +16 -16
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCore.cs +2 -2
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCoreBuilder.cs +1 -1
Modified XFEExtension.NetCore.ServerInteractive/Utilities/XFEServerBuilderExtensions.cs +1 -1
Modified XFEExtension.NetCore.ServerInteractive/Utilities/XFEServerCoreBuilderExtensions.cs +1 -1