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/Utilities/Extensions/XFEClientRequesterBuilderExtensions.cs
+65
-66
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Extensions/XFEServerBuilderExtensions.cs
+29
-29
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Extensions/XFEServerCoreBuilderExtensions.cs
+127
-133
XFEstudio/XFEExtension.NetCore.ServerInteractive
重构XFE扩展方法为C# 12 extension class风格
将XFEClientRequesterBuilderExtensions、XFEServerBuilderExtensions、XFEServerCoreBuilderExtensions中的所有静态扩展方法重构为C# 12的extension class实例方法,移除this和static修饰符,提升代码现代性和可维护性。同步精简了注释,仅保留<summary>说明,参数注释已移除。核心业务逻辑未变,接口调用方式更符合新语法规范。
65d3681
代码差异
3 个文件
+221
-228
@@ -16,76 +16,75 @@ public static class XFEClientRequesterBuilderExtensions
16
16
17
17
static XFEClientRequesterBuilderExtensions() => JsonSerializerOptions.Converters.Add(new JsonDateTimeConverter());
18
18
19
/// <summary>
20
/// 添加连接检查请求
21
/// </summary>
22
19
/// <param name="xFEClientRequesterBuilder"></param>
23
/// <returns></returns>
24
public static XFEClientRequesterBuilder AddCheckConnectRequest(this XFEClientRequesterBuilder xFEClientRequesterBuilder) => xFEClientRequesterBuilder.AddRequest("check_connect", static (_, _, _) => new
20
extension(XFEClientRequesterBuilder xFEClientRequesterBuilder)
25
21
{
26
execute = "check_connect"
27
}, response => DateTime.Parse(response));
22
/// <summary>
23
/// 添加连接检查请求
24
/// </summary>
25
/// <returns></returns>
26
public XFEClientRequesterBuilder AddCheckConnectRequest() => xFEClientRequesterBuilder.AddRequest("check_connect", static (_, _, _) => new
27
{
28
execute = "check_connect"
29
}, response => DateTime.Parse(response));
28
30
29
/// <summary>
30
/// 添加日志请求
31
/// </summary>
32
/// <param name="xFEClientRequesterBuilder"></param>
33
/// <returns></returns>
34
public static XFEClientRequesterBuilder AddLogRequest(this XFEClientRequesterBuilder xFEClientRequesterBuilder) => xFEClientRequesterBuilder.AddRequest("get_log", static (session, computerInfo, parameters) => new
35
{
36
execute = "get_log",
37
session,
38
computerInfo,
39
startDateTime = parameters[0],
40
endDateTime = parameters[1]
41
}, static response => response).AddRequest("clear_log", static (session, computerInfo, _) => new
42
{
43
execute = "clear_log",
44
session,
45
computerInfo
46
}, static response => response);
31
/// <summary>
32
/// 添加日志请求
33
/// </summary>
34
/// <returns></returns>
35
public XFEClientRequesterBuilder AddLogRequest() => xFEClientRequesterBuilder.AddRequest("get_log", static (session, computerInfo, parameters) => new
36
{
37
execute = "get_log",
38
session,
39
computerInfo,
40
startDateTime = parameters[0],
41
endDateTime = parameters[1]
42
}, static response => response).AddRequest("clear_log", static (session, computerInfo, _) => new
43
{
44
execute = "clear_log",
45
session,
46
computerInfo
47
}, static response => response);
47
48
48
/// <summary>
49
/// 添加IP封禁请求
50
/// </summary>
51
/// <param name="xFEClientRequesterBuilder"></param>
52
/// <returns></returns>
53
public static XFEClientRequesterBuilder AddBannedIpRequest(this XFEClientRequesterBuilder xFEClientRequesterBuilder) => xFEClientRequesterBuilder.AddRequest("get_bannedIpList", static (session, computerInfo, _) => new
54
{
55
execute = "get_bannedIpList",
56
session,
57
computerInfo
58
}, static response => JsonSerializer.Deserialize<List<IpAddressInfo>>(response, JsonSerializerOptions)!).AddRequest("add_bannedIp", static (session, computerInfo, parameters) => new
59
{
60
execute = "add_bannedIp",
61
session,
62
computerInfo,
63
bannedIp = parameters[0],
64
notes = parameters[1]
65
}, static response => response).AddRequest("remove_bannedIp", static (session, computerInfo, parameters) => new
66
{
67
execute = "remove_bannedIp",
68
session,
69
computerInfo,
70
bannedIp = parameters[0]
71
}, static response => bool.Parse(response));
49
/// <summary>
50
/// 添加IP封禁请求
51
/// </summary>
52
/// <returns></returns>
53
public XFEClientRequesterBuilder AddBannedIpRequest() => xFEClientRequesterBuilder.AddRequest("get_bannedIpList", static (session, computerInfo, _) => new
54
{
55
execute = "get_bannedIpList",
56
session,
57
computerInfo
58
}, static response => JsonSerializer.Deserialize<List<IpAddressInfo>>(response, JsonSerializerOptions)!).AddRequest("add_bannedIp", static (session, computerInfo, parameters) => new
59
{
60
execute = "add_bannedIp",
61
session,
62
computerInfo,
63
bannedIp = parameters[0],
64
notes = parameters[1]
65
}, static response => response).AddRequest("remove_bannedIp", static (session, computerInfo, parameters) => new
66
{
67
execute = "remove_bannedIp",
68
session,
69
computerInfo,
70
bannedIp = parameters[0]
71
}, static response => bool.Parse(response));
72
72
73
/// <summary>
74
/// 添加登录服务
75
/// </summary>
76
/// <typeparam name="T">登录返回用户接口类型</typeparam>
77
/// <param name="xFEClientRequesterBuilder"></param>
78
/// <returns></returns>
79
public static XFEClientRequesterBuilder AddLoginRequest<T>(this XFEClientRequesterBuilder xFEClientRequesterBuilder) where T : IUserFaceInfo => xFEClientRequesterBuilder.AddXFERequest<LoginRequestService<T>>("login").AddXFERequest<ReloginRequestService<T>>("relogin");
73
/// <summary>
74
/// 添加登录服务
75
/// </summary>
76
/// <typeparam name="T">登录返回用户接口类型</typeparam>
77
/// <returns></returns>
78
public XFEClientRequesterBuilder AddLoginRequest<T>() where T : IUserFaceInfo => xFEClientRequesterBuilder.AddXFERequest<LoginRequestService<T>>("login").AddXFERequest<ReloginRequestService<T>>("relogin");
80
79
81
/// <summary>
82
/// 使用XFE标准服务器服务请求
83
/// </summary>
84
/// <typeparam name="T">登录返回用户接口类型</typeparam>
85
/// <param name="xFEClientRequesterBuilder"></param>
86
/// <returns></returns>
87
public static XFEClientRequesterBuilder UseXFEStandardRequest<T>(this XFEClientRequesterBuilder xFEClientRequesterBuilder) where T : IUserFaceInfo => xFEClientRequesterBuilder.AddLoginRequest<T>()
88
.AddBannedIpRequest()
89
.AddLogRequest()
90
.AddCheckConnectRequest();
80
/// <summary>
81
/// 使用XFE标准服务器服务请求
82
/// </summary>
83
/// <typeparam name="T">登录返回用户接口类型</typeparam>
84
/// <returns></returns>
85
public XFEClientRequesterBuilder UseXFEStandardRequest<T>() where T : IUserFaceInfo => xFEClientRequesterBuilder.AddLoginRequest<T>()
86
.AddBannedIpRequest()
87
.AddLogRequest()
88
.AddCheckConnectRequest();
89
}
91
90
}
@@ -8,40 +8,40 @@ namespace XFEExtension.NetCore.ServerInteractive.Utilities.Extensions;
8
8
/// </summary>
9
9
public static class XFEServerBuilderExtensions
10
10
{
11
/// <summary>
12
/// 使用XFE标准服务器
13
/// </summary>
14
11
/// <param name="xFEServerBuilder"></param>
15
/// <returns></returns>
16
public static XFEServerBuilder UseXFEServer(this XFEServerBuilder xFEServerBuilder) => xFEServerBuilder.UseXFELog()
12
extension(XFEServerBuilder xFEServerBuilder)
13
{
14
/// <summary>
15
/// 使用XFE标准服务器
16
/// </summary>
17
/// <returns></returns>
18
public XFEServerBuilder UseXFEServer() => xFEServerBuilder.UseXFELog()
17
19
.AddXFEExceptionProcess()
18
20
.AddXFEIpInitializer()
19
21
.AddXFECoreProcessor();
20
/// <summary>
21
/// 使用XFE日志记录
22
/// </summary>
23
/// <param name="xFEServerBuilder"></param>
24
/// <returns></returns>
25
public static XFEServerBuilder UseXFELog(this XFEServerBuilder xFEServerBuilder) => xFEServerBuilder.AddInitializer<ServerLogInitializer>();
26
22
27
/// <summary>
28
/// 使用XFE异常处理程序
29
/// </summary>
30
/// <param name="xFEServerBuilder"></param>
31
/// <returns></returns>
32
public static XFEServerBuilder AddXFEExceptionProcess(this XFEServerBuilder xFEServerBuilder) => xFEServerBuilder.AddService<ServerExceptionProcessService>();
23
/// <summary>
24
/// 使用XFE日志记录
25
/// </summary>
26
/// <returns></returns>
27
public XFEServerBuilder UseXFELog() => xFEServerBuilder.AddInitializer<ServerLogInitializer>();
33
28
34
/// <summary>
35
/// 使用XFE核心处理程序
36
/// </summary>
37
/// <param name="xFEServerBuilder"></param>
38
/// <returns></returns>
39
public static XFEServerBuilder AddXFECoreProcessor(this XFEServerBuilder xFEServerBuilder) => xFEServerBuilder.AddCoreProcessor<XFEServerCoreProcessService>();
29
/// <summary>
30
/// 使用XFE异常处理程序
31
/// </summary>
32
/// <returns></returns>
33
public XFEServerBuilder AddXFEExceptionProcess() => xFEServerBuilder.AddService<ServerExceptionProcessService>();
40
34
41
/// <summary>
42
/// 使用XFEIP初始化器
43
/// </summary>
44
/// <param name="xFEServerBuilder"></param>
45
/// <returns></returns>
46
public static XFEServerBuilder AddXFEIpInitializer(this XFEServerBuilder xFEServerBuilder) => xFEServerBuilder.AddInitializer<ServerIpInitializer>();
35
/// <summary>
36
/// 使用XFE核心处理程序
37
/// </summary>
38
/// <returns></returns>
39
public XFEServerBuilder AddXFECoreProcessor() => xFEServerBuilder.AddCoreProcessor<XFEServerCoreProcessService>();
40
41
/// <summary>
42
/// 使用XFEIP初始化器
43
/// </summary>
44
/// <returns></returns>
45
public XFEServerBuilder AddXFEIpInitializer() => xFEServerBuilder.AddInitializer<ServerIpInitializer>();
46
}
47
47
}
@@ -11,101 +11,94 @@ namespace XFEExtension.NetCore.ServerInteractive.Utilities.Extensions;
11
11
/// </summary>
12
12
public static class XFEServerCoreBuilderExtensions
13
13
{
14
/// <summary>
15
/// 使用XFE数据表格管理器
16
/// </summary>
17
14
/// <param name="xFEServerCoreBuilder"></param>
18
/// <param name="xFEDataTableManagerBuilder">数据表格构建器</param>
19
/// <param name="getUserFunction"></param>
20
/// <param name="getEncryptedUserLoginModelFunction"></param>
21
/// <returns></returns>
22
public static XFEServerCoreBuilder AddDataTableManager(this XFEServerCoreBuilder xFEServerCoreBuilder, XFEDataTableManagerBuilder xFEDataTableManagerBuilder, Func<IEnumerable<User>> getUserFunction, Func<IEnumerable<EncryptedUserLoginModel>> getEncryptedUserLoginModelFunction) => xFEServerCoreBuilder.AddParameter("TableManager", xFEDataTableManagerBuilder.Build(getUserFunction, getEncryptedUserLoginModelFunction)).AddStandardService<XFEDataTableManagerService>(xFEDataTableManagerBuilder.ExecuteList);
23
24
/// <summary>
25
/// 添加用户基本参数
26
/// </summary>
27
/// <typeparam name="T">登录返回用户接口类型</typeparam>
28
/// <param name="xFEServerCoreBuilder"></param>
29
/// <param name="getUserFunction"></param>
30
/// <param name="getEncryptedUserLoginModelFunction"></param>
31
/// <param name="addEncryptedUserLoginModelFunction"></param>
32
/// <param name="removeEncryptedUserLoginModelFunction"></param>
33
/// <param name="getLoginKeepDays"></param>
34
/// <param name="loginResultConvertFunction"></param>
35
/// <returns></returns>
36
public static XFEServerCoreBuilder AddUserParameterBase<T>(this XFEServerCoreBuilder xFEServerCoreBuilder, Func<IEnumerable<User>> getUserFunction, Func<IEnumerable<EncryptedUserLoginModel>> getEncryptedUserLoginModelFunction, Action<EncryptedUserLoginModel> addEncryptedUserLoginModelFunction, Action<EncryptedUserLoginModel> removeEncryptedUserLoginModelFunction, Func<int> getLoginKeepDays, Func<object, T> loginResultConvertFunction) where T : class => xFEServerCoreBuilder.AddParameter("GetUserFunction", getUserFunction)
37
.AddParameter("GetEncryptedUserLoginModelFunction", getEncryptedUserLoginModelFunction)
38
.AddParameter("AddEncryptedUserLoginModelFunction", addEncryptedUserLoginModelFunction)
39
.AddParameter("RemoveEncryptedUserLoginModelFunction", removeEncryptedUserLoginModelFunction)
40
.AddParameter("GetLoginKeepDays", getLoginKeepDays)
41
.AddParameter("LoginResultConvertFunction", loginResultConvertFunction);
42
43
/// <summary>
44
/// 使用XFE标准登录服务
45
/// </summary>
46
/// <typeparam name="T">登录返回用户接口类型</typeparam>
47
/// <param name="xFEServerCoreBuilder"></param>
48
/// <returns></returns>
49
public static XFEServerCoreBuilder AddStandardLoginService<T>(this XFEServerCoreBuilder xFEServerCoreBuilder) where T : class => xFEServerCoreBuilder.AddStandardService<UserLoginService<T>>("login")
15
extension(XFEServerCoreBuilder xFEServerCoreBuilder)
16
{
17
/// <summary>
18
/// 使用XFE数据表格管理器
19
/// </summary>
20
/// <param name="xFEDataTableManagerBuilder">数据表格构建器</param>
21
/// <param name="getUserFunction"></param>
22
/// <param name="getEncryptedUserLoginModelFunction"></param>
23
/// <returns></returns>
24
public XFEServerCoreBuilder AddDataTableManager(XFEDataTableManagerBuilder xFEDataTableManagerBuilder, Func<IEnumerable<User>> getUserFunction, Func<IEnumerable<EncryptedUserLoginModel>> getEncryptedUserLoginModelFunction) => xFEServerCoreBuilder.AddParameter("TableManager", xFEDataTableManagerBuilder.Build(getUserFunction, getEncryptedUserLoginModelFunction)).AddStandardService<XFEDataTableManagerService>(xFEDataTableManagerBuilder.ExecuteList);
25
26
/// <summary>
27
/// 添加用户基本参数
28
/// </summary>
29
/// <typeparam name="T">登录返回用户接口类型</typeparam>
30
/// <param name="getUserFunction"></param>
31
/// <param name="getEncryptedUserLoginModelFunction"></param>
32
/// <param name="addEncryptedUserLoginModelFunction"></param>
33
/// <param name="removeEncryptedUserLoginModelFunction"></param>
34
/// <param name="getLoginKeepDays"></param>
35
/// <param name="loginResultConvertFunction"></param>
36
/// <returns></returns>
37
public XFEServerCoreBuilder AddUserParameterBase<T>(Func<IEnumerable<User>> getUserFunction, Func<IEnumerable<EncryptedUserLoginModel>> getEncryptedUserLoginModelFunction, Action<EncryptedUserLoginModel> addEncryptedUserLoginModelFunction, Action<EncryptedUserLoginModel> removeEncryptedUserLoginModelFunction, Func<int> getLoginKeepDays, Func<object, T> loginResultConvertFunction) where T : class => xFEServerCoreBuilder.AddParameter("GetUserFunction", getUserFunction)
38
.AddParameter("GetEncryptedUserLoginModelFunction", getEncryptedUserLoginModelFunction)
39
.AddParameter("AddEncryptedUserLoginModelFunction", addEncryptedUserLoginModelFunction)
40
.AddParameter("RemoveEncryptedUserLoginModelFunction", removeEncryptedUserLoginModelFunction)
41
.AddParameter("GetLoginKeepDays", getLoginKeepDays)
42
.AddParameter("LoginResultConvertFunction", loginResultConvertFunction);
43
44
/// <summary>
45
/// 使用XFE标准登录服务
46
/// </summary>
47
/// <typeparam name="T">登录返回用户接口类型</typeparam>
48
/// <returns></returns>
49
public XFEServerCoreBuilder AddStandardLoginService<T>() where T : class => xFEServerCoreBuilder.AddStandardService<UserLoginService<T>>("login")
50
50
.AddStandardService<UserReloginService<T>>("relogin")
51
51
.AddService<UserLoginAutoCleanService>();
52
52
53
/// <summary>
54
/// 添加IP封禁服务
55
/// </summary>
56
/// <param name="xFEServerCoreBuilder"></param>
57
/// <returns></returns>
58
public static XFEServerCoreBuilder AddIpBannerService(this XFEServerCoreBuilder xFEServerCoreBuilder) => xFEServerCoreBuilder.AddStandardService<IpBannerService>(["get_bannedIpList", "add_bannedIp", "remove_bannedIp"]);
59
60
/// <summary>
61
/// 添加日期统计服务
62
/// </summary>
63
/// <param name="xFEServerCoreBuilder"></param>
64
/// <returns></returns>
65
public static XFEServerCoreBuilder AddDailyCounterService(this XFEServerCoreBuilder xFEServerCoreBuilder) => xFEServerCoreBuilder.AddService<DailyCounterService>();
66
67
/// <summary>
68
/// 添加XFE异常处理服务
69
/// </summary>
70
/// <param name="xFEServerCoreBuilder"></param>
71
/// <returns></returns>
72
public static XFEServerCoreBuilder AddXFEErrorProcessService(this XFEServerCoreBuilder xFEServerCoreBuilder) => xFEServerCoreBuilder.AddService<ServerCoreExceptionProcessService>();
73
74
/// <summary>
75
/// 添加连接检查服务
76
/// </summary>
77
/// <param name="xFEServerCoreBuilder"></param>
78
/// <returns></returns>
79
public static XFEServerCoreBuilder AddConnectService(this XFEServerCoreBuilder xFEServerCoreBuilder) => xFEServerCoreBuilder.AddStandardService<ConnectService>("check_connect");
80
81
/// <summary>
82
/// 添加服务器入口点校验
83
/// </summary>
84
/// <param name="xFEServerCoreBuilder"></param>
85
/// <returns></returns>
86
public static XFEServerCoreBuilder AddEntryPointVerify(this XFEServerCoreBuilder xFEServerCoreBuilder) => xFEServerCoreBuilder.AddVerifyService<EntryPointVerifyServer>();
87
88
/// <summary>
89
/// 添加服务器日志请求
90
/// </summary>
91
/// <param name="xFEServerCoreBuilder"></param>
92
/// <returns></returns>
93
public static XFEServerCoreBuilder AddServerLogService(this XFEServerCoreBuilder xFEServerCoreBuilder) => xFEServerCoreBuilder.AddStandardService<CoreLogService>(["get_log", "clear_log"]);
94
95
/// <summary>
96
/// 使用XFE标准服务器核心
97
/// </summary>
98
/// <typeparam name="T">登录返回用户接口类型</typeparam>
99
/// <param name="xFEServerCoreBuilder"></param>
100
/// <param name="getUserFunction"></param>
101
/// <param name="getEncryptedUserLoginModelFunction"></param>
102
/// <param name="addEncryptedUserLoginModelFunction"></param>
103
/// <param name="removeEncryptedUserLoginModelFunction"></param>
104
/// <param name="getLoginKeepDays"></param>
105
/// <param name="xFEDataTableManagerBuilder"></param>
106
/// <param name="loginResultConvertFunction"></param>
107
/// <returns></returns>
108
public static XFEServerCoreBuilder UseXFEStandardServerCore<T>(this XFEServerCoreBuilder xFEServerCoreBuilder, Func<IEnumerable<User>> getUserFunction, Func<IEnumerable<EncryptedUserLoginModel>> getEncryptedUserLoginModelFunction, Action<EncryptedUserLoginModel> addEncryptedUserLoginModelFunction, Action<EncryptedUserLoginModel> removeEncryptedUserLoginModelFunction, Func<int> getLoginKeepDays, Func<object, T> loginResultConvertFunction, XFEDataTableManagerBuilder xFEDataTableManagerBuilder) where T : class => xFEServerCoreBuilder.AddUserParameterBase(getUserFunction, getEncryptedUserLoginModelFunction, addEncryptedUserLoginModelFunction, removeEncryptedUserLoginModelFunction, getLoginKeepDays, loginResultConvertFunction)
53
/// <summary>
54
/// 添加IP封禁服务
55
/// </summary>
56
/// <returns></returns>
57
public XFEServerCoreBuilder AddIpBannerService() => xFEServerCoreBuilder.AddStandardService<IpBannerService>(["get_bannedIpList", "add_bannedIp", "remove_bannedIp"]);
58
59
/// <summary>
60
/// 添加日期统计服务
61
/// </summary>
62
/// <returns></returns>
63
public XFEServerCoreBuilder AddDailyCounterService() => xFEServerCoreBuilder.AddService<DailyCounterService>();
64
65
/// <summary>
66
/// 添加XFE异常处理服务
67
/// </summary>
68
/// <returns></returns>
69
public XFEServerCoreBuilder AddXFEErrorProcessService() => xFEServerCoreBuilder.AddService<ServerCoreExceptionProcessService>();
70
71
/// <summary>
72
/// 添加连接检查服务
73
/// </summary>
74
/// <returns></returns>
75
public XFEServerCoreBuilder AddConnectService() => xFEServerCoreBuilder.AddStandardService<ConnectService>("check_connect");
76
77
/// <summary>
78
/// 添加服务器入口点校验
79
/// </summary>
80
/// <returns></returns>
81
public XFEServerCoreBuilder AddEntryPointVerify() => xFEServerCoreBuilder.AddVerifyService<EntryPointVerifyServer>();
82
83
/// <summary>
84
/// 添加服务器日志请求
85
/// </summary>
86
/// <returns></returns>
87
public XFEServerCoreBuilder AddServerLogService() => xFEServerCoreBuilder.AddStandardService<CoreLogService>(["get_log", "clear_log"]);
88
89
/// <summary>
90
/// 使用XFE标准服务器核心
91
/// </summary>
92
/// <typeparam name="T">登录返回用户接口类型</typeparam>
93
/// <param name="getUserFunction"></param>
94
/// <param name="getEncryptedUserLoginModelFunction"></param>
95
/// <param name="addEncryptedUserLoginModelFunction"></param>
96
/// <param name="removeEncryptedUserLoginModelFunction"></param>
97
/// <param name="getLoginKeepDays"></param>
98
/// <param name="xFEDataTableManagerBuilder"></param>
99
/// <param name="loginResultConvertFunction"></param>
100
/// <returns></returns>
101
public XFEServerCoreBuilder UseXFEStandardServerCore<T>(Func<IEnumerable<User>> getUserFunction, Func<IEnumerable<EncryptedUserLoginModel>> getEncryptedUserLoginModelFunction, Action<EncryptedUserLoginModel> addEncryptedUserLoginModelFunction, Action<EncryptedUserLoginModel> removeEncryptedUserLoginModelFunction, Func<int> getLoginKeepDays, Func<object, T> loginResultConvertFunction, XFEDataTableManagerBuilder xFEDataTableManagerBuilder) where T : class => xFEServerCoreBuilder.AddUserParameterBase(getUserFunction, getEncryptedUserLoginModelFunction, addEncryptedUserLoginModelFunction, removeEncryptedUserLoginModelFunction, getLoginKeepDays, loginResultConvertFunction)
109
102
.AddDataTableManager(xFEDataTableManagerBuilder, getUserFunction, getEncryptedUserLoginModelFunction)
110
103
.AddEntryPointVerify()
111
104
.AddDailyCounterService()
@@ -115,52 +108,53 @@ public static class XFEServerCoreBuilderExtensions
115
108
.AddServerLogService()
116
109
.AddIpBannerService();
117
110
118
/// <summary>
119
/// 使用XFE标准服务器核心(Options)
120
/// </summary>
121
public static XFEServerCoreBuilder UseXFEStandardServerCore<T>(this XFEServerCoreBuilder xFEServerCoreBuilder, XFEStandardServerCoreOptions<T>? options) where T : class
122
{
123
if (options is null) return xFEServerCoreBuilder;
124
125
// start with base builder
126
var builder = xFEServerCoreBuilder;
127
128
// If user-related functions are provided, add user parameters and login services
129
var hasUserFunctions = options.GetUserFunction is not null && options.GetEncryptedUserLoginModelFunction is not null && options.AddEncryptedUserLoginModelFunction is not null && options.RemoveEncryptedUserLoginModelFunction is not null && options.LoginResultConvertFunction is not null;
130
131
if (hasUserFunctions)
132
{
133
builder = builder.AddUserParameterBase(options.GetUserFunction!, options.GetEncryptedUserLoginModelFunction!, options.AddEncryptedUserLoginModelFunction!, options.RemoveEncryptedUserLoginModelFunction!, options.GetLoginKeepDays, options.LoginResultConvertFunction!);
134
}
135
136
// DataTableManager requires both user functions and a builder
137
if (options.DataTableManagerBuilder is not null && options.GetUserFunction is not null && options.GetEncryptedUserLoginModelFunction is not null)
111
/// <summary>
112
/// 使用XFE标准服务器核心(Options)
113
/// </summary>
114
public XFEServerCoreBuilder UseXFEStandardServerCore<T>(XFEStandardServerCoreOptions<T>? options) where T : class
138
115
{
139
builder = builder.AddDataTableManager(options.DataTableManagerBuilder, options.GetUserFunction, options.GetEncryptedUserLoginModelFunction);
116
if (options is null) return xFEServerCoreBuilder;
117
118
// start with base builder
119
var builder = xFEServerCoreBuilder;
120
121
// If user-related functions are provided, add user parameters and login services
122
var hasUserFunctions = options.GetUserFunction is not null && options.GetEncryptedUserLoginModelFunction is not null && options.AddEncryptedUserLoginModelFunction is not null && options.RemoveEncryptedUserLoginModelFunction is not null && options.LoginResultConvertFunction is not null;
123
124
if (hasUserFunctions)
125
{
126
builder = builder.AddUserParameterBase(options.GetUserFunction!, options.GetEncryptedUserLoginModelFunction!, options.AddEncryptedUserLoginModelFunction!, options.RemoveEncryptedUserLoginModelFunction!, options.GetLoginKeepDays, options.LoginResultConvertFunction!);
127
}
128
129
// DataTableManager requires both user functions and a builder
130
if (options.DataTableManagerBuilder is not null && options.GetUserFunction is not null && options.GetEncryptedUserLoginModelFunction is not null)
131
{
132
builder = builder.AddDataTableManager(options.DataTableManagerBuilder, options.GetUserFunction, options.GetEncryptedUserLoginModelFunction);
133
}
134
135
// Common services that don't strictly require user functions
136
builder = builder.AddEntryPointVerify()
137
.AddDailyCounterService()
138
.AddXFEErrorProcessService()
139
.AddConnectService();
140
141
// Add services that depend on user functions if available
142
if (hasUserFunctions)
143
{
144
builder = builder.AddStandardLoginService<T>().AddServerLogService().AddIpBannerService();
145
}
146
147
return builder;
140
148
}
141
149
142
// Common services that don't strictly require user functions
143
builder = builder.AddEntryPointVerify()
144
.AddDailyCounterService()
145
.AddXFEErrorProcessService()
146
.AddConnectService();
147
148
// Add services that depend on user functions if available
149
if (hasUserFunctions)
150
/// <summary>
151
/// 使用 XFE 标准服务器核心,提供 options lambda 初始化器
152
/// </summary>
153
public XFEServerCoreBuilder UseXFEStandardServerCore<T>(Action<XFEStandardServerCoreOptions<T>> optionsBuilder) where T : class
150
154
{
151
builder = builder.AddStandardLoginService<T>().AddServerLogService().AddIpBannerService();
155
var options = new XFEStandardServerCoreOptions<T>();
156
optionsBuilder.Invoke(options);
157
return xFEServerCoreBuilder.UseXFEStandardServerCore(options);
152
158
}
153
154
return builder;
155
}
156
157
/// <summary>
158
/// 使用 XFE 标准服务器核心,提供 options lambda 初始化器
159
/// </summary>
160
public static XFEServerCoreBuilder UseXFEStandardServerCore<T>(this XFEServerCoreBuilder xFEServerCoreBuilder, Action<XFEStandardServerCoreOptions<T>> optionsBuilder) where T : class
161
{
162
var options = new XFEStandardServerCoreOptions<T>();
163
optionsBuilder.Invoke(options);
164
return xFEServerCoreBuilder.UseXFEStandardServerCore(options);
165
159
}
166
160
}