/// <summary>
        /// 所有外部请求的接收方法
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public virtual WcfResponse Request(WcfRequest req)
        {
            WcfResponse res = null;
            try
            {
                var resFun = BaseRequest(req);
                if (resFun != null)
                    return resFun;

                throw new JsMiracleException(
                    string.Format("调用的方法不存在 {0}", req.Head.RequestMethodName));
            }
            catch (DbEntityValidationException dbEx)
            {
                if (res == null)
                    res = new WcfResponse();

                StringBuilder sb = new StringBuilder();
                if (dbEx.EntityValidationErrors != null)
                {
                    foreach (var err in dbEx.EntityValidationErrors)
                    {
                        foreach (var valerr in err.ValidationErrors)
                            sb.AppendFormat("{0}:{1}", valerr.PropertyName, valerr.ErrorMessage);
                        //valerr.PropertyName , valerr.
                    }
                    res.Head.Message = sb.ToString();
                }
                else
                {
                    res.Head.Message = dbEx.Message;
                }
                res.Head.IsSuccess = false;
            }
            catch (Exception ex)
            {
                if (res == null)
                    res = new WcfResponse();

                if (ex is JsMiracle.Framework.JsMiracleException)
                    res.Head.Message = ex.Message;
                else
                {

                    Exception innerExp = ex;

                    while (innerExp.InnerException != null)
                    {
                        innerExp = innerExp.InnerException;
                    }
                    res.Head.Message = string.Format("{0}-{1}", ex.Message, innerExp.Message);
                }

                res.Head.IsSuccess = false;
            }
            return res;
        }
 protected abstract WcfResponse BaseRequest(WcfRequest req);