public async Task <bool> OnLoadSucceed(bool isReload) { try { HttpHandlerFactory.SetExtraHandlerGetter(HotfixMgr.GetHttpHandler); TcpHandlerFactory.SetExtraHandlerGetter(Geek.Server.Message.MsgFactory.Create, msgId => HotfixMgr.GetHandler <BaseTcpHandler>(msgId)); if (isReload) { //热更 LOGGER.Info("hotfix load success"); await ActorManager.ActorsForeach((actor) => { actor.SendAsync(actor.ClearCacheAgent, false); return(Task.CompletedTask); }); } else { //起服 if (!await Start()) { return(false); } } return(true); } catch (Exception e) { LOGGER.Fatal("OnLoadSucceed执行异常"); LOGGER.Fatal(e.ToString()); return(false); } }
async Task <string> handleHttpRequest(string ip, string url, Dictionary <string, string> paramMap) { LOGGER.Info("收到来自[{}]的HTTP请求. 请求url:[{}]", ip, url); var str = new StringBuilder(); str.Append("请求参数:"); foreach (var parameter in paramMap) { if (parameter.Key.Equals("")) { continue; } str.Append("'").Append(parameter.Key).Append("'='").Append(parameter.Value).Append("' "); } LOGGER.Info(str.ToString()); if (!paramMap.TryGetValue("cmd", out var cmd)) { return(HttpResult.Undefine); } if (!Settings.Ins.AppRunning) { return(new HttpResult(HttpResult.Code_ActionFailed, "服务器状态错误[正在起/关服]")); } try { var handler = HttpHandlerFactory.GetHandler(cmd, paramMap); if (handler == null) { LOGGER.Warn($"http cmd handler 不存在:{cmd}"); return(HttpResult.Undefine); } if (handler == null) { LOGGER.Warn($"http cmd handler 为空:{cmd}"); return(HttpResult.Undefine); } //验证 var checkCode = handler.CheckSgin(paramMap); if (!string.IsNullOrEmpty(checkCode)) { return(checkCode); } var ret = await Task.Run(() => { return(handler.Action(ip, url, paramMap)); }); LOGGER.Warn("http result:" + ret); return(ret); } catch (Exception e) { LOGGER.Error("执行http异常. {} {}", e.Message, e.StackTrace); return(e.Message); } }