string 执行方法(string 对象名, string 方法名, List <M实参> 参数列表, int 超时毫秒 = 3000) { var __请求报文 = new M方法执行请求 { 对象名称 = 对象名, 方法名称 = 方法名, 实参列表 = 参数列表 }; var __响应报文 = _N主动会话.请求 <M方法执行结果>(__请求报文, 超时毫秒); if (__响应报文 == null) { throw new ApplicationException(string.Format("执行方法: {0} - {1} 时无响应", 对象名, 方法名)); } if (!__响应报文.成功) { throw new ApplicationException(string.Format("执行方法: {0} - {1} 时出错, {2}", 对象名, 方法名, __响应报文.描述)); } return(__响应报文.返回值); }
public override object ReadJson(JsonReader reader, Type objectType, object value, JsonSerializer serializer) { var __结果 = new M方法执行请求(); JObject __jo = JObject.Load(reader); __结果.对象名称 = __jo["对象名称"].Value <string>(); __结果.方法名称 = __jo["方法名称"].Value <string>(); if (__jo["实参列表"] != null) { foreach (JObject __jo1 in __jo["实参列表"].ToArray()) { var __名称 = __jo1["名称"].Value <string>(); var __值 = __jo1["值"].ToString(); __结果.实参列表.Add(new M实参 { 称 = __名称, 值 = __值 }); } } //IPAddress address = jo["Address"].to<IPAddress>(serializer); //int port = jo["Port"].Value<int>(); return(__结果); }