From 16749e23b489ee24f993fe9e87346680b7bcf63a Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期五, 10 十月 2025 21:14:49 +0800 Subject: [PATCH] 代码提交 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/HttpHelper.cs | 96 ++++++++++++++++++++++++++++++++++-------------- 1 files changed, 68 insertions(+), 28 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/HttpHelper.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/HttpHelper.cs" index 91f38e6..8feaf5c 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/HttpHelper.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Helper/HttpHelper.cs" @@ -4,12 +4,15 @@ using System.Collections.Generic; using System.Linq; using System.Net.Http.Headers; +using System.Reflection.Metadata; using System.Security.Policy; using System.Text; using System.Threading.Tasks; +using WIDESEAWCS_Core.LogHelper; namespace WIDESEAWCS_Core.Helper { + public class HttpHelper { public static async Task<string> GetAsync(string serviceAddress, Dictionary<string, object> parameters, string contentType = "application/json", Dictionary<string, string>? headers = null) @@ -47,36 +50,38 @@ { try { - if (serviceAddress.Contains("http://c24-cellmi3:12020")) - { - // 灏� JSON 瀛楃涓茶浆鎹负瀛楀吀 - var parameters = JsonConvert.DeserializeObject<Dictionary<string, object>>(requestJson); + //if (serviceAddress.Contains("http://c24-cellmi3:12020")) + //{ + // // 灏� JSON 瀛楃涓茶浆鎹负瀛楀吀 + // var parameters = JsonConvert.DeserializeObject<Dictionary<string, object>>(requestJson); - // 鍒涘缓涓�涓柊鐨勫瓧鍏革紝鎺掗櫎 RequestTime 鍜� SessionId - var filteredParameters = parameters.Where(p => p.Key != "RequestTime" && p.Key != "SessionId").ToDictionary(p => p.Key, p => p.Value); + // // 鍒涘缓涓�涓柊鐨勫瓧鍏革紝鎺掗櫎 RequestTime 鍜� SessionId + // var filteredParameters = parameters.Where(p => p.Key != "RequestTime" && p.Key != "SessionId").ToDictionary(p => p.Key, p => p.Value); - string requestKey = $"{serviceAddress}:{JsonConvert.SerializeObject(filteredParameters)}"; + // string requestKey = $"{serviceAddress}:{JsonConvert.SerializeObject(filteredParameters)}"; - // 妫�鏌ヨ姹傛鏁板拰鏃堕棿闄愬埗 - if (requestTracker.TryGetValue(requestKey, out var requestInfo)) - { - if (requestInfo.Count >= 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(3)) - { - // 濡傛灉璇锋眰娆℃暟瓒呰繃闄愬埗涓旀湭瓒呰繃10鍒嗛挓锛屾姏鍑哄紓甯� - throw new InvalidOperationException("璇锋眰娆℃暟宸茶揪鍒伴檺鍒讹紝璇风◢鍚庡啀璇曘��"); - } - } + // // 妫�鏌ヨ姹傛鏁板拰鏃堕棿闄愬埗 + // if (requestTracker.TryGetValue(requestKey, out var requestInfo)) + // { + // if (requestInfo.Count >= 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(3)) + // { + // // 濡傛灉璇锋眰娆℃暟瓒呰繃闄愬埗涓旀湭瓒呰繃10鍒嗛挓锛屾姏鍑哄紓甯� + // throw new InvalidOperationException("璇锋眰娆℃暟宸茶揪鍒伴檺鍒讹紝璇风◢鍚庡啀璇曘��"); + // } + // } - // 鏇存柊璇锋眰璺熻釜淇℃伅 - if (requestTracker.ContainsKey(requestKey)) - { - requestTracker[requestKey] = (requestInfo.Count + 1, DateTime.Now); - } - else - { - requestTracker[requestKey] = (1, DateTime.Now); - } - } + // // 鏇存柊璇锋眰璺熻釜淇℃伅 + // if (requestTracker.ContainsKey(requestKey)) + // { + // requestTracker[requestKey] = (requestInfo.Count + 1, DateTime.Now); + // } + // else + // { + // requestTracker[requestKey] = (1, DateTime.Now); + // } + //} + LogRequestParameters(requestJson, serviceAddress); + string result = string.Empty; using (HttpContent httpContent = new StringContent(requestJson)) { @@ -91,11 +96,14 @@ } result = await httpClient.PostAsync(serviceAddress, httpContent).Result.Content.ReadAsStringAsync(); } + LogResponseParameters(result, serviceAddress); + return result; } - catch (Exception e) + catch (Exception ex) { - Console.WriteLine(e.Message); + LogErrorParameters(ex.StackTrace, ex.Message, serviceAddress); + Console.WriteLine(ex.Message); } return null; } @@ -145,5 +153,37 @@ } return null; } + + private static void LogErrorParameters(string errordetail, string error, string url = "") + { + StringBuilder builder = new StringBuilder(); + builder.Append(Environment.NewLine); + builder.Append("---------------------------------------------"); + builder.Append(Environment.NewLine); + builder.Append("url:" + url + "寮傚父璇︾粏淇℃伅: " + JsonConvert.SerializeObject(error)); + builder.Append("url:" + url + "寮傚父淇℃伅: " + JsonConvert.SerializeObject(error)); + LogAPI.WriteInfo($"API鎺ュ彛", $"{builder}"); + } + private static void LogRequestParameters(string parameters, string url = "") + { + StringBuilder builder = new StringBuilder(); + builder.Append(Environment.NewLine); + builder.Append("---------------------------------------------"); + builder.Append(Environment.NewLine); + builder.Append("url:" + url + "璇锋眰鍙傛暟: " + JsonConvert.SerializeObject(parameters)); + LogAPI.WriteInfo($"API鎺ュ彛", $"{builder}"); + } + + private static void LogResponseParameters(string responseBody, string url = "") + { + StringBuilder builder = new StringBuilder(); + builder.Append(Environment.NewLine); + builder.Append("url:" + url + "鍝嶅簲鍙傛暟: " + responseBody); + builder.Append(Environment.NewLine); + builder.Append("---------------------------------------------"); + builder.Append(Environment.NewLine); + + LogAPI.WriteInfo($"API鎺ュ彛", $"{builder}"); + } } } -- Gitblit v1.9.3