示例#1
0
        /// <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);
        }
示例#2
0
        /// <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>)));
        }
示例#4
0
        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);
        }