protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); //List<IMS_CM_DM> dataList; object[] objs; switch (req.Head.RequestMethodName) { case "GetCodeList": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetCodeList((CodeTypeEnum)objs[0]); break; case "GetCode": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetCode((CodeTypeEnum)objs[0], (int)objs[1]); break; default: return(null); } res.Head.IsSuccess = true; return(res); }
//public static TReturn UseService<TReturn>( // Binding binding // , EndpointAddress edpAddr // , Func<TChannel, TReturn> func) //{ // //var chanFactory = new ChannelFactory<TChannel>("*"); // var chanFactory = new ChannelFactory<TChannel>(binding, edpAddr); // TChannel channel = chanFactory.CreateChannel(); // ((IClientChannel)channel).Open(); // TReturn result = func(channel); // try // { // ((IClientChannel)channel).Close(); // } // catch // { // ((IClientChannel)channel).Abort(); // } // return result; //} //public static void UseService( // Binding binding // , EndpointAddress edpAddr // , Action<TChannel> func) //{ // //var chanFactory = new ChannelFactory<TChannel>("*"); // var chanFactory = new ChannelFactory<TChannel>(binding, edpAddr); // TChannel channel = chanFactory.CreateChannel(); // ((IClientChannel)channel).Open(); // func(channel); // try // { // ((IClientChannel)channel).Close(); // } // catch // { // ((IClientChannel)channel).Abort(); // } //} /// <summary> /// 执行wcf方法并返回数据 /// </summary> /// <typeparam name="P">参数类型</typeparam> /// <typeparam name="Return">返回类型</typeparam> /// <param name="methodName">方法名</param> /// <param name="parameters">参数</param> /// <param name="serType"></param> /// <returns></returns> protected virtual Return RequestFunc <P, Return>(string methodName, P parameters) { #if DEBUG //try //{ #endif WcfRequest req = new WcfRequest(); req.Head.RequestMethodName = methodName; req.Head.ClassName = this.GetType().Name; if (parameters != null) { req.Body.Parameters = parameters; } var res = base.Channel.Request(req); if (res.Head.IsSuccess) { return((Return)res.Body.Data); } // 返回不是真 抛出异常 throw new JsMiracleException(res.Head.Message); #if DEBUG //} //catch (Exception ex) //{ // Console.WriteLine(ex.Message); // return default(Return); //} #endif }
protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); object[] objs; switch (req.Head.RequestMethodName) { case "GetMaxPosition": res.Body.Data = dal.GetMaxPosition(); break; case "GetLocationState": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetLocationState(Convert.ToInt32(objs[0])); break; default: return(null); } res.Head.IsSuccess = true; return(res); }
protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); object[] objs; switch (req.Head.RequestMethodName) { case "GetUserList": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetUserList((string)objs[0]); break; case "SaveRoleUser": objs = (object[])req.Body.Parameters; res.Body.Data = dal.SaveRoleUser((string)objs[0], (string)objs[1]); break; case "RemoveRoleUser": objs = (object[])req.Body.Parameters; res.Body.Data = dal.RemoveRoleUser((string)objs[0], (string)objs[1]); break; // 没有方法交给父类处理 default: return(null); } res.Head.IsSuccess = true; return(res); }
protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); object[] objs; switch (req.Head.RequestMethodName) { case "GetRootModule": res.Body.Data = dal.GetRootModule(); break; case "GetEntityByModuleID": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetEntityByModuleID((int)objs[0]); break; case "GetChildModuleList": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetChildModuleList((int)objs[0]); break; default: return(null); } res.Head.IsSuccess = true; return(res); }
//public WcfResponse RequestOverride(WcfRequest req) //{ // return this.RequestFun(req); //} protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); object[] objs; switch (req.Head.RequestMethodName) { case "GetAllUserList": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetAllUserList((bool)objs[0]); break; case "GetEntityByYHBH": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetEntityByYHBH((string)objs[0]); break; case "Delete": objs = (object[])req.Body.Parameters; dal.Delete(objs[0]); break; case "MinPasswordLength": res.Body.Data = dal.MinPasswordLength(); break; case "ValidateUser": objs = (object[])req.Body.Parameters; res.Body.Data = dal.ValidateUser((string)objs[0], (string)objs[1]); break; case "CreateUser": objs = (object[])req.Body.Parameters; dal.CreateUser( (string)objs[0], (string)objs[1], (string)objs[2], (string)objs[3]); break; case "ChangePassword": objs = (object[])req.Body.Parameters; dal.ChangePassword( (string)objs[0], (string)objs[1], (string)objs[2]); break; // 没有方法交给父类处理 default: return(null); } res.Head.IsSuccess = true; return(res); }
protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); switch (req.Head.RequestMethodName) { default: return(null); } res.Head.IsSuccess = true; return(res); }
/// <summary> /// 执行wcf方法没有返回数据 /// </summary> /// <typeparam name="P">参数类型</typeparam> /// <param name="methodName">方法名</param> /// <param name="parameters">参数</param> /// <returns></returns> protected virtual void RequestAction <P>(string methodName, P parameters) { WcfRequest req = new WcfRequest(); req.Head.RequestMethodName = methodName; req.Body.Parameters = parameters; var res = base.Channel.Request(req); if (res.Head.IsSuccess) { return; } // 返回不是真 抛出异常 throw new JsMiracleException(res.Head.Message); }
protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); switch (req.Head.RequestMethodName) { case "GetAllRole": res.Body.Data = dal.GetAllRole(); break; // 没有方法交给父类处理 default: return(null); } res.Head.IsSuccess = true; return(res); }
protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); object[] objs; switch (req.Head.RequestMethodName) { case "GetPermissionInfo": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetPermissionInfo((string)objs[0]); break; case "SavePermission": objs = (object[])req.Body.Parameters; res.Body.Data = dal.SavePermission((bool)objs[0] , (int)objs[1] , (int)objs[2] , (int)objs[3] , (string)objs[4]); break; case "GetPermissionListByUserID": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetPermissionListByUserID((string)objs[0]); break; case "GetAllPermission": res.Body.Data = dal.GetAllPermission(); break; case "GetPermissionListByRoleID": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetPermissionListByRoleID((string)objs[0]); break; // 没有方法交给父类处理 default: return(null); } res.Head.IsSuccess = true; return(res); }
protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); object[] objs; switch (req.Head.RequestMethodName) { case "GetEntityBylxdm": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetEntityBylxdm((string)objs[0]); break; default: return(null); } res.Head.IsSuccess = true; return(res); }
protected override WcfResponse RequestFun(WcfRequest req) { WcfResponse res = new WcfResponse(); object[] objs; switch (req.Head.RequestMethodName) { case "ReSaveObjectData": objs = (object[])req.Body.Parameters; dal.ReSaveObjectData((string)objs[0], (string)objs[1]); break; case "GetObjectColumnList": objs = (object[])req.Body.Parameters; res.Body.Data = dal.GetObjectColumnList((string)objs[0]); break; default: return(null); } res.Head.IsSuccess = true; return(res); }
protected override WcfResponse RequestFun(WcfRequest req) { return(null); }
public WcfResponse RequestOverride(WcfRequest req) { return(this.RequestFun(req)); }
public WcfResponse Request(WcfRequest req) { return(base.Channel.Request(req)); }
protected abstract WcfResponse BaseRequest(WcfRequest req);
/// <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 RequestFun(WcfRequest req);
protected override WcfResponse BaseRequest(WcfRequest req) { var res = RequestFun(req); if (res != null) { res.Head.IsSuccess = true; return(res); } res = new WcfResponse(); T ent; List <T> dataList; object[] objs; switch (req.Head.RequestMethodName) { case "GetEntity": objs = (object[])req.Body.Parameters; res.Body.Data = DataLayer.GetEntity(objs[0]); break; case "GetAllEntites": objs = (object[])req.Body.Parameters; res.Body.Data = DataLayer.GetAllEntites((string)objs[0]); break; case "Exists": objs = (object[])req.Body.Parameters; res.Body.Data = DataLayer.Exists((string)objs[0]); break; case "SaveOrUpdate": ent = (T)req.Body.Parameters; ent = DataLayer.SaveOrUpdate(ent); res.Body.Data = ent; break; case "Delete": objs = (object[])req.Body.Parameters; DataLayer.Delete(objs[0]); break; case "Insert": ent = (T)req.Body.Parameters; ent = DataLayer.Insert(ent); res.Body.Data = ent; break; case "GetDataByPageDynamic": //splitPar = (SplitPageParameters)req.Body.Parameters; objs = (object[])req.Body.Parameters; int rowCount; //var data = new SplitPageData<T>(); dataList = DataLayer.GetDataByPageDynamic( (int)objs[0] // PageIndex , (int)objs[1] // PageSize , out rowCount , (string)objs[2] // OrderBy , (string)objs[3] // Where , (object[])objs[4]); //WhereParams res.Body.Data = new object[] { rowCount, dataList }; break; default: return(null); } res.Head.IsSuccess = true; return(res); }