From 18d1f45193e34e00fc1b6f65b8596ddb29c5267d Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 24 十二月 2024 15:32:43 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs | 116 +++++++++++++++++++++++---------------------------------- 1 files changed, 47 insertions(+), 69 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs" index da9e300..fc1a9f0 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs" @@ -15,38 +15,49 @@ { public static async Task<string> GetAsync(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null) { + string result = string.Empty; + DateTime beginDate = DateTime.Now; try { - string result = string.Empty; using HttpClient httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(0, 0, 60); - foreach (var header in headers) - httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); + if (headers != null) + { + foreach (var header in headers) + httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); + } result = await httpClient.GetAsync(serviceAddress).Result.Content.ReadAsStringAsync(); return result; } catch (Exception e) { - Console.WriteLine(e.Message); + throw new Exception(e.Message); } - return null; + finally + { + Logger.Add(serviceAddress, "", result, beginDate); + } } - public static async Task<string> PostAsync(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null) + public static async Task<string?> PostAsync(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null) { + string result = string.Empty; + DateTime beginDate = DateTime.Now; try { - string result = string.Empty; using (HttpContent httpContent = new StringContent(requestJson)) { httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); using HttpClient httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(0, 0, 60); - foreach (var header in headers) - httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); + if (headers != null) + { + foreach (var header in headers) + httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); + } result = await httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync(); } @@ -54,45 +65,59 @@ } catch (Exception e) { - Console.WriteLine(e.Message); + throw new Exception(e.Message); } - return null; + finally + { + Logger.Add(serviceAddress, requestJson == null ? "" : requestJson, result, beginDate); + } } public static string Get(string serviceAddress, string contentType = "application/json", Dictionary<string, string>? headers = null) { + string result = string.Empty; + DateTime beginDate = DateTime.Now; try { - string result = string.Empty; using HttpClient httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(0, 0, 60); - foreach (var header in headers) - httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); + if (headers != null) + { + foreach (var header in headers) + httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); + } result = httpClient.GetStringAsync(serviceAddress).Result; return result; } catch (Exception e) { - Console.WriteLine(e.Message); + throw new Exception(e.Message); } - return null; + finally + { + Logger.Add(serviceAddress, "", result, beginDate); + } } public static string Post(string serviceAddress, string requestJson = null, string contentType = "application/json", Dictionary<string, string>? headers = null) { + string result = string.Empty; + DateTime beginDate = DateTime.Now; try { - string result = string.Empty; using (HttpContent httpContent = new StringContent(requestJson)) { httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); using HttpClient httpClient = new HttpClient(); httpClient.Timeout = new TimeSpan(0, 0, 60); - foreach (var header in headers) - httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); + if (headers != null) + { + foreach (var header in headers) + httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); + } result = httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync().Result; } @@ -100,58 +125,11 @@ } catch (Exception e) { - Console.WriteLine(e.Message); + throw new Exception(e.Message); } - return null; - } - - public static T Post<T>(string url, object parm, string rquestName = "") where T : class - { - HttpWebResponse response = null; - StreamReader resultReader = null; - string responseContent = string.Empty; - try + finally { - HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); - request.Timeout = 10 * 1000; - request.Method = "POST"; - request.ContentType = "application/json; charset=UTF-8"; - parm = parm ?? ""; - byte[] data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(parm)); - request.ContentLength = data.Length; - using (Stream newStream = request.GetRequestStream()) - { - newStream.Write(data, 0, data.Length); - }; - - response = (HttpWebResponse)request.GetResponse(); - Stream webStream = response.GetResponseStream(); - if (webStream == null) - { - throw new Exception("Network error"); - } - - int statsCode = (int)response.StatusCode; - resultReader = new StreamReader(webStream, Encoding.UTF8); - responseContent = resultReader.ReadToEnd(); - - if (response != null) - response.Close(); - if (resultReader != null) - resultReader.Close(); - - if (statsCode != 200) - { - throw new Exception("寮傚父锛屽搷搴旂爜锛�" + statsCode.ToString()); - } - - Logger.Write_Log("System/API璇锋眰", rquestName, "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent }); - return JsonConvert.DeserializeObject<T>(responseContent); - } - catch (Exception ex) - { - Logger.Write_Log("System/API璇锋眰", rquestName, "璇锋眰寮傚父", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent, 閿欒 = ex.Message }); - throw ex; + Logger.Add(serviceAddress, requestJson == null ? "" : requestJson, result, beginDate); } } } -- Gitblit v1.9.3