/// <summary> /// 获取公共返回消息 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="data">数据</param> /// <param name="status">状态</param> /// <param name="message">消息</param> /// <returns></returns> protected virtual BaseSoapResult <string> GetBaseSoapResult <T>(T data = default(T), GlobalErrorCodes status = GlobalErrorCodes.Error, string message = "") where T : class { message = string.Format("{0}{1}", status.GetEnumDescription(), string.IsNullOrEmpty(message) ? "" : "," + message); BaseSoapResult <string> resultMsg = new BaseSoapResult <string> { Status = status, Msg = message, Data = data == null ? "" : data.TryToJson() }; return(resultMsg); }
/// <summary> /// 获取公共返回消息 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="status">状态</param> /// <param name="message">消息</param> /// <returns></returns> protected virtual BaseSoapResult <string> GetBaseSoapResult <T>(GlobalErrorCodes status = GlobalErrorCodes.Error, string message = "") where T : class { message = status == GlobalErrorCodes.Success ? status.GetEnumDescription() : string.Format("{0}{1}", status.GetEnumDescription(), string.IsNullOrEmpty(message) ? "" : "," + message); BaseSoapResult <string> resultMsg = new BaseSoapResult <string> { Status = status, Msg = message, }; return(resultMsg); }
/// <summary>启用创建从服务方法过程中的异常返回的自定义 <see cref="T:System.ServiceModel.FaultException`1" />。</summary> /// <param name="error">服务操作过程中引发的 <see cref="T:System.Exception" /> 对象。</param> /// <param name="version">消息的 SOAP 版本。</param> /// <param name="fault">双工情况下,返回到客户端或服务的 <see cref="T:System.ServiceModel.Channels.Message" /> 对象。</param> public void ProvideFault(Exception error, MessageVersion version, ref Message fault) { //要修改返回内容注意这里 BaseSoapResult <string> res = new BaseSoapResult <string> { Status = GlobalErrorCodes.Exception, Data = error.TargetSite.Name, Msg = error.Message.ToString() }; FaultException newEx = new FaultException(res.TryToJson()); MessageFault msgFault = newEx.CreateMessageFault(); fault = Message.CreateMessage(version, msgFault, newEx.Action); //fault = Message.CreateMessage(version, "http://tempuri.org/svfault", res, new DataContractJsonSerializer(typeof(BaseJsonResult4API<string>))); }
public BaseSoapResult <string> GetTestObjectMsg() { BaseSoapResult <string> res = this.GetBaseSoapResult <string>(GlobalErrorCodes.Error); this.Logger(this.GetType(), "实体测试-GetTestObjectMsg", () => { res = new BaseSoapResult <string> { Status = GlobalErrorCodes.Success, Data = "Hello World!", Msg = "欢迎使用WCF服务!" }; }, e => { res = this.GetBaseSoapResult <string>(GlobalErrorCodes.Exception, e.Message); }); return(res); }