From 82149871f30f4564d84272649352496a2ab0a38e Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 23 十月 2025 17:12:52 +0800
Subject: [PATCH] 1
---
项目代码/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