コード例 #1
0
        public async Task Invoke(HttpContext httpContext)
        {
            try
            {
                await _next(httpContext);

                if (!httpContext.Response.HasStarted && httpContext.Response.StatusCode >= 400)
                {
                    var responseModel = new ResponseModelBase {
                        Message = GetErrorMessageByCode(httpContext.Response.StatusCode), Errors = new List <ErrorInfo>()
                    };

                    var result = new JsonResult(responseModel);
                    await httpContext.ExecuteResultAsync(result);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "An error occurred during processing request");

                if (httpContext.Response.HasStarted)
                {
                    throw;
                }

                var(statusCode, message) = GetErrorDetailsByExceptionType(ex);
                var responseModel = new ResponseModelBase {
                    Message = message, Errors = new List <ErrorInfo>()
                };

                if (ex is LogicException appException && appException.Errors != null && appException.Errors.Count > 0)
                {
                    responseModel.Errors = appException.Errors;
                    foreach (var error in responseModel.Errors)
                    {
                        if (!string.IsNullOrEmpty(error.Message) || string.IsNullOrEmpty(error.Key))
                        {
                            continue;
                        }

                        error.Message = error.Key;
                        error.Key     = null;
                    }
                }

                httpContext.Response.StatusCode = statusCode;

                var result = new JsonResult(responseModel);
                await httpContext.ExecuteResultAsync(result);
            }
        }
コード例 #2
0
 public CoreBaseController()
 {
     if (SERVICE_NOT_FOUND == null)
     {
         SERVICE_NOT_FOUND = new ResponseModelBase
         {
             Success = false,
             Message = new List <string>
             {
                 "Service not found"
             }
         };
     }
 }
コード例 #3
0
        public ResponseModelBase DeleteTag([FromBody] USERTAGSBASE req)
        {
            ResponseModelBase retValue = new ResponseModelBase();
            bool status = true;

            if (string.IsNullOrEmpty(req.createUserCode))
            {
                retValue.FailDefalut("请填写创建人code!");
                status = false;
            }

            else if (req.ID == 0)
            {
                retValue.FailDefalut("请填写正确的标签ID");
                status = false;
            }
            if (status)
            {
                using (var db = DbContext.GetInstance("T_USER_TAGS"))
                {
                    try
                    {
                        //设置创建时间
                        req.createTime = DateTime.Now;

                        var isExist = db.Queryable <USERTAGSBASE>()
                                      .Any(s => s.ID == req.ID && s.createUserCode == req.createUserCode);

                        if (isExist)
                        {
                            db.Delete(req);
                            retValue.SuccessDefalut("删除成功!", 1);
                            LogWirter.Record(LogType.Personal, OpType.Delete, req.label + "]", "删除个人用户标签 [", 0, req.createUserCode, req.createUserName);
                        }
                        else
                        {
                            retValue.FailDefalut("不存在改标签ID!");
                        }
                    }
                    catch (Exception ex)
                    {
                        retValue.FailDefalut(ex);
                    }
                }
            }

            return(retValue);
        }
コード例 #4
0
ファイル: HttpUtil.cs プロジェクト: muzeyc/CommonBaseUI
        /// <summary>
        /// Get传输数据
        /// </summary>
        /// <param name="Url">URL地址</param>
        /// <param name="jsonParas">Json数据</param>
        /// <returns></returns>
        public static string Get(string Url, Dictionary <string, string> paramDic = null)
        {
            string retString = "";

            try
            {
                if (paramDic != null)
                {
                    var isFirst = true;
                    foreach (var kv in paramDic)
                    {
                        if (isFirst)
                        {
                            Url    += "?";
                            isFirst = false;
                        }
                        else
                        {
                            Url += "&";
                        }

                        Url += kv.Key + "=" + kv.Value;
                    }
                }

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
                request.KeepAlive   = false;
                request.Method      = "GET";
                request.ContentType = "text/html;charset=UTF-8";
                request.Timeout     = 60000;
                HttpWebResponse response         = (HttpWebResponse)request.GetResponse();
                Stream          myResponseStream = response.GetResponseStream();
                StreamReader    myStreamReader   = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                retString = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();
            }
            catch (Exception e)
            {
                var resModel = new ResponseModelBase();
                resModel.result     = ResponseModelBase.FAILED;
                resModel.errMessage = e.Message;
                retString           = resModel.Serializer();
            }

            return(retString);
        }
コード例 #5
0
ファイル: HttpUtil.cs プロジェクト: muzeyc/CommonBaseUI
        /// <summary>
        /// Post传输数据
        /// </summary>
        /// <param name="Url">URL地址</param>
        /// <param name="jsonParas">Json数据</param>
        /// <returns></returns>
        public static string Post(string Url, string jsonParas)
        {
            string strURL = Url;

            if (jsonParas.Equals(""))
            {
                jsonParas = "null";
            }

            //创建一个HTTP请求
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);

            //Post请求方式
            request.Method = "POST";
            //内容类型
            request.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
            request.Timeout     = 60000;

            //设置参数,并进行URL编码
            string paraUrlCoded = jsonParas;//System.Web.HttpUtility.UrlEncode(jsonParas);

            byte[] payload;
            //将Json字符串转化为字节
            payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
            //设置请求的ContentLength
            request.ContentLength = payload.Length;
            //发送请求,获得请求流

            Stream writer;

            try
            {
                writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象
            }
            catch (Exception e)
            {
                writer = null;
                Console.Write("连接服务器失败!");
                var resModel = new ResponseModelBase();
                resModel.result     = ResponseModelBase.FAILED;
                resModel.errMessage = "连接服务器失败!" + e.Message;
                return(resModel.Serializer());
            }
            //将请求参数写入流
            writer.Write(payload, 0, payload.Length);
            writer.Close();//关闭请求流

            //String strValue = "";//strValue为http响应所返回的字符流
            HttpWebResponse response;

            try
            {
                //获得响应流
                response = (HttpWebResponse)request.GetResponse();
            }
            catch (WebException ex)
            {
                response = ex.Response as HttpWebResponse;
                var resModel = new ResponseModelBase();
                resModel.result     = ResponseModelBase.FAILED;
                resModel.errMessage = ex.Message;
                return(resModel.Serializer());
            }

            Stream s = response.GetResponseStream();

            //Stream postData = System.Net.WebReq.InputStream;
            StreamReader sRead       = new StreamReader(s);
            string       postContent = sRead.ReadToEnd();

            sRead.Close();

            return(postContent);//返回Json数据
        }