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

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
copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
提交于

代码差异

1 个文件 +14 -8
Modified XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCore.cs +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 {