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/Server/XFEServerCore.cs
+10
-10
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCoreBuilder.cs
+38
-20
XFEstudio/XFEExtension.NetCore.ServerInteractive
优化对象调用
7f51b13
代码差异
2 个文件
+48
-30
@@ -112,7 +112,7 @@ public abstract class XFEServerCore : ServerCoreServiceBase
112
112
if (!execute.IsNullOrEmpty())
113
113
{
114
114
//Console.WriteLine($"【{e.ClientIP}】请求方法:{execute}");
115
Console.Write($"【{e.ClientIP}】请求方法:{execute}:");
115
Console.Write($"【{e.ClientIP}】请求方法-{execute}:");
116
116
var stopWatch = Stopwatch.StartNew();
117
117
if (standardCoreServiceDictionary.TryGetValue(execute, out var serviceFactory))
118
118
{
@@ -133,12 +133,12 @@ public abstract class XFEServerCore : ServerCoreServiceBase
133
133
StatusCode = r.StatusCode,
134
134
Handled = r.Handled,
135
135
CyberCommRequestEventArgs = e,
136
ServerException = new XFEServerCoreRequestInnerException($"请求异常:{execute}", ex)
136
ServerException = new XFEServerCoreRequestInnerException($"请求异常-{execute}", ex)
137
137
});
138
138
}
139
139
//Console.WriteLine($"【{e.ClientIP}】请求处理完成:{execute}");
140
140
stopWatch.Stop();
141
Console.WriteLine($"\t{execute} 请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
141
Console.WriteLine($"\t成功![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
142
142
return;
143
143
}
144
144
else if (standardCoreAsyncServiceDictionary.TryGetValue(execute, out var serviceAsyncFactory))
@@ -159,11 +159,11 @@ public abstract class XFEServerCore : ServerCoreServiceBase
159
159
StatusCode = r.StatusCode,
160
160
Handled = r.Handled,
161
161
CyberCommRequestEventArgs = e,
162
ServerException = new XFEServerCoreRequestInnerException($"请求异常:{execute}", ex)
162
ServerException = new XFEServerCoreRequestInnerException($"请求异常-{execute}", ex)
163
163
});
164
164
}
165
165
stopWatch.Stop();
166
Console.WriteLine($"\t{execute} 请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
166
Console.WriteLine($"\t成功!请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
167
167
return;
168
168
}
169
169
foreach (var key in standardMultiCoreServiceDictionary.Keys)
@@ -187,11 +187,11 @@ public abstract class XFEServerCore : ServerCoreServiceBase
187
187
StatusCode = r.StatusCode,
188
188
Handled = r.Handled,
189
189
CyberCommRequestEventArgs = e,
190
ServerException = new XFEServerCoreRequestInnerException($"请求异常:{execute}", ex)
190
ServerException = new XFEServerCoreRequestInnerException($"请求异常-{execute}", ex)
191
191
});
192
192
}
193
193
stopWatch.Stop();
194
Console.WriteLine($"\t{execute} 请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
194
Console.WriteLine($"\t成功![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
195
195
return;
196
196
}
197
197
}
@@ -216,11 +216,11 @@ public abstract class XFEServerCore : ServerCoreServiceBase
216
216
StatusCode = r.StatusCode,
217
217
Handled = r.Handled,
218
218
CyberCommRequestEventArgs = e,
219
ServerException = new XFEServerCoreRequestInnerException($"请求异常:{execute}", ex)
219
ServerException = new XFEServerCoreRequestInnerException($"请求异常-{execute}", ex)
220
220
});
221
221
}
222
222
stopWatch.Stop();
223
Console.WriteLine($"\t{execute} 请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
223
Console.WriteLine($"\t成功!请求处理完成![{InteractiveHelper.GetStopWatchTime(stopWatch)}]");
224
224
return;
225
225
}
226
226
}
@@ -228,7 +228,7 @@ public abstract class XFEServerCore : ServerCoreServiceBase
228
228
{
229
229
StatusCode = HttpStatusCode.BadRequest,
230
230
CyberCommRequestEventArgs = e,
231
ServerException = new ExecutionUnregisteredException($"请求的方法未注册:{execute}")
231
ServerException = new ExecutionUnregisteredException($"请求的方法未注册-{execute}")
232
232
});
233
233
}
234
234
}
@@ -91,25 +91,19 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
91
91
/// <summary>
92
92
/// 注册标准服务
93
93
/// </summary>
94
/// <typeparam name="T">服务泛型</typeparam>
94
95
/// <param name="execute">注册执行语句</param>
95
/// <param name="serverCoreStandardRegisterService">标准服务对象</param>
96
96
/// <returns>XFE服务器核心构建器</returns>
97
public XFEServerCoreBuilder RegisterStandardService(string execute, IServerCoreStandardRegisterService serverCoreStandardRegisterService)
97
public XFEServerCoreBuilder RegisterStandardService<T>(string execute) where T : IServerCoreStandardRegisterService, new()
98
98
{
99
ApplyParameter(serverCoreStandardRegisterService);
100
// store as factory returning the provided instance (singleton behavior)
101
serverStandardCoreServiceDictionary.Add(execute, () => serverCoreStandardRegisterService);
99
serverStandardCoreServiceDictionary.Add(execute, () =>
100
{
101
ApplyParameter(new T());
102
return new T();
103
});
102
104
return this;
103
105
}
104
106
105
/// <summary>
106
/// 注册标准服务
107
/// </summary>
108
/// <typeparam name="T">服务泛型</typeparam>
109
/// <param name="execute">注册执行语句</param>
110
/// <returns>XFE服务器核心构建器</returns>
111
public XFEServerCoreBuilder RegisterStandardService<T>(string execute) where T : IServerCoreStandardRegisterService, new() => RegisterStandardService(execute, new T());
112
113
107
/// <summary>
114
108
/// 注册标准服务
115
109
/// </summary>
@@ -118,8 +112,13 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
118
112
/// <returns>XFE服务器核心构建器</returns>
119
113
public XFEServerCoreBuilder RegisterStandardAsyncService(string execute, IServerCoreStandardRegisterAsyncService serverCoreStandardAsyncRegisterService)
120
114
{
121
ApplyParameter(serverCoreStandardAsyncRegisterService);
122
serverStandardCoreAsyncServiceDictionary.Add(execute, () => serverCoreStandardAsyncRegisterService);
115
var type = serverCoreStandardAsyncRegisterService.GetType();
116
serverStandardCoreAsyncServiceDictionary.Add(execute, () =>
117
{
118
var inst = (IServerCoreStandardRegisterAsyncService)Activator.CreateInstance(type)!;
119
ApplyParameter(inst);
120
return inst;
121
});
123
122
return this;
124
123
}
125
124
@@ -129,7 +128,16 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
129
128
/// <typeparam name="T">服务泛型</typeparam>
130
129
/// <param name="execute">注册执行语句</param>
131
130
/// <returns>XFE服务器核心构建器</returns>
132
public XFEServerCoreBuilder RegisterStandardAsyncService<T>(string execute) where T : IServerCoreStandardRegisterAsyncService, new() => RegisterStandardAsyncService(execute, new T());
131
public XFEServerCoreBuilder RegisterStandardAsyncService<T>(string execute) where T : IServerCoreStandardRegisterAsyncService, new()
132
{
133
serverStandardCoreAsyncServiceDictionary.Add(execute, () =>
134
{
135
var inst = new T();
136
ApplyParameter(inst);
137
return inst;
138
});
139
return this;
140
}
133
141
134
142
/// <summary>
135
143
/// 注册多个执行语句的标准服务
@@ -139,8 +147,13 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
139
147
/// <returns>XFE服务器核心构建器</returns>
140
148
public XFEServerCoreBuilder RegisterStandardService(List<string> executeList, IServerCoreStandardRegisterService serverCoreStandardRegisterService)
141
149
{
142
ApplyParameter(serverCoreStandardRegisterService);
143
serverMultiStandardCoreServiceDictionary.Add(executeList, () => serverCoreStandardRegisterService);
150
var type = serverCoreStandardRegisterService.GetType();
151
serverMultiStandardCoreServiceDictionary.Add(executeList, () =>
152
{
153
var inst = (IServerCoreStandardRegisterService)Activator.CreateInstance(type)!;
154
ApplyParameter(inst);
155
return inst;
156
});
144
157
return this;
145
158
}
146
159
@@ -160,8 +173,13 @@ public abstract class XFEServerCoreBuilder : XFEBuilderBase<XFEServerCoreBuilder
160
173
/// <returns>XFE服务器核心构建器</returns>
161
174
public XFEServerCoreBuilder RegisterStandardAsyncService(List<string> executeList, IServerCoreStandardRegisterAsyncService serverCoreStandardRegisterAsyncService)
162
175
{
163
ApplyParameter(serverCoreStandardRegisterAsyncService);
164
serverMultiStandardCoreAsyncServiceDictionary.Add(executeList, () => serverCoreStandardRegisterAsyncService);
176
var type = serverCoreStandardRegisterAsyncService.GetType();
177
serverMultiStandardCoreAsyncServiceDictionary.Add(executeList, () =>
178
{
179
var inst = (IServerCoreStandardRegisterAsyncService)Activator.CreateInstance(type)!;
180
ApplyParameter(inst);
181
return inst;
182
});
165
183
return this;
166
184
}
167
185