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
+14
-8
XFEstudio/XFEExtension.NetCore.ServerInteractive
fix: explicit 404 and exclusive sync/async dispatch in XFEServerCore route handling
Agent-Logs-Url: https://github.com/XFEstudio/XFEExtension.NetCore.ServerInteractive/sessions/a62b2a10-d5e7-4545-9b5e-6a4cfad6147d Co-authored-by: XFEstudio <132526994+XFEstudio@users.noreply.github.com>
5636a10
代码差异
1 个文件
+14
-8
@@ -178,14 +178,20 @@ public abstract class XFEServerCore : ServerCoreServiceBase
178
178
serviceInstance.ReturnArgs = r;
179
179
serviceInstance.Initialize();
180
180
181
// 根据路由调用对应的处理方法
182
var hasSyncHandler = serviceInstance.SyncEntryPoints.TryGetValue(route, out var syncHandler);
183
var hasAsyncHandler = serviceInstance.AsyncEntryPoints.TryGetValue(route, out var asyncHandler);
184
185
if (hasSyncHandler)
186
syncHandler!();
187
if (hasAsyncHandler)
188
await asyncHandler!();
181
// 根据路由调用对应的处理方法(同步与异步互斥,优先同步)
182
if (serviceInstance.SyncEntryPoints.TryGetValue(route, out var syncHandler))
183
syncHandler();
184
else if (serviceInstance.AsyncEntryPoints.TryGetValue(route, out var asyncHandler))
185
await asyncHandler();
186
else
187
{
188
ServerCoreError?.Invoke(this, new()
189
{
190
StatusCode = HttpStatusCode.NotFound,
191
ReturnArgs = r,
192
ServerException = new ExecutionUnregisteredException($"服务已注册但路由未找到对应处理方法-{route}")
193
});
194
}
189
195
}
190
196
catch (Exception ex)
191
197
{