public override object ReadJson(JsonReader reader, Type objectType, object value, JsonSerializer serializer) { var __结果 = new M方法执行结果(); JObject jo = JObject.Load(reader); __结果.成功 = jo["成功"].Value<bool>(); __结果.描述 = jo["描述"].Value<string>(); __结果.返回值 = jo["返回值"] == null ? "" : jo["返回值"].ToString(); return __结果; }
private bool 处理执行方法(N会话参数 __会话参数) { var __请求 = __会话参数.负载 as M方法执行请求; var __对象名称 = __请求.对象名称; var __方法名称 = __请求.方法名称; var __参数 = __请求.实参列表; if (_所有对象.ContainsKey(__对象名称)) { var __对象 = _所有对象[__对象名称](); var __方法 = __对象.明细.方法列表.Find(q => q.名称 == __方法名称); if (__方法 != null) { var __执行成功 = true; var __执行描述 = ""; var __返回值 = ""; try { __返回值 = __对象.执行方法(__方法名称, M实参.列表转字典(__参数), __会话参数.远端); } catch (Exception ex) { H日志输出.记录(ex); __执行描述 = ex.Message; __执行成功 = false; } var 响应 = new M方法执行结果 { 成功 = __执行成功, 描述 = __执行描述, 返回值 = __返回值 }; __会话参数.发送响应(响应); } } return true; }