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

重构XFE扩展方法为C# 12 extension class风格

将XFEClientRequesterBuilderExtensions、XFEServerBuilderExtensions、XFEServerCoreBuilderExtensions中的所有静态扩展方法重构为C# 12的extension class实例方法,移除this和static修饰符,提升代码现代性和可维护性。同步精简了注释,仅保留<summary>说明,参数注释已移除。核心业务逻辑未变,接口调用方式更符合新语法规范。

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

代码差异

3 个文件 +221 -228
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Extensions/XFEClientRequesterBuilderExtensions.cs +65 -66
@@ -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 }
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Extensions/XFEServerBuilderExtensions.cs +29 -29
@@ -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 }
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Extensions/XFEServerCoreBuilderExtensions.cs +127 -133
@@ -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 }