Esempio n. 1
0
        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);
        }
        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(__结果);
        }