XFEExtension.NetCore.ServerInteractive
[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig
关注
0
Fork
0
Star
0
返回提交历史
Modified
README.md
+1
-1
Modified
XFEExtension.NetCore.ServerInteractive.TServer/Program.cs
+2
-1
Modified
XFEExtension.NetCore.ServerInteractive/Implements/ServerService/CoreServerProcessServiceBase.cs
+3
-3
Modified
XFEExtension.NetCore.ServerInteractive/Implements/ServerService/CoreServerProcessServiceBaseImpl.cs
+2
-2
Modified
XFEExtension.NetCore.ServerInteractive/Implements/ServerService/CoreServerServiceBase.cs
+2
-2
Modified
XFEExtension.NetCore.ServerInteractive/Interfaces/CoreService/IServerCoreVerifyService.cs
+2
-1
Modified
XFEExtension.NetCore.ServerInteractive/Interfaces/ServerService/ICoreServerProcessService.cs
+3
-3
Modified
XFEExtension.NetCore.ServerInteractive/Interfaces/ServerService/ICoreServerService.cs
+2
-2
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/CoreServerExceptionProcessService.cs
+2
-2
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/DailyCounterService.cs
+3
-3
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/UserLoginAutoCleanService.cs
+5
-5
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/ServerService/ServerIpInitializer.cs
+7
-7
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
XFEstudio/XFEExtension.NetCore.ServerInteractive
更新命名
c0b45f9
代码差异
19 个文件
+72
-70
@@ -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, // 获取用户表的方法
@@ -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(); // 启动服务
@@ -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
}
@@ -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
}
@@ -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
@@ -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;
@@ -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
}
@@ -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>
@@ -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
@@ -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
}
@@ -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
}
@@ -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();