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); } }
public CoreBaseController() { if (SERVICE_NOT_FOUND == null) { SERVICE_NOT_FOUND = new ResponseModelBase { Success = false, Message = new List <string> { "Service not found" } }; } }
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); }
/// <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); }
/// <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数据 }