From 0d5d4a8c55b562090f1a1ac48cda7fcab943979b Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 15 十月 2025 15:48:40 +0800
Subject: [PATCH] 更新二进制文件及新增异步POST方法

---
 CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs |   45 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 41 insertions(+), 4 deletions(-)

diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs
index e5373a3..4c93915 100644
--- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs
+++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs
@@ -16,8 +16,8 @@
 
     static HttpsClient()
     {
-        // 璁剧疆瀹氭椂鍣紝姣�10鍒嗛挓娓呯悊涓�娆equestTracker鐨勬暟鎹�
-        cleanupTimer = new Timer(10 * 60 * 1000);
+        // 璁剧疆瀹氭椂鍣紝姣�5鍒嗛挓娓呯悊涓�娆equestTracker鐨勬暟鎹�
+        cleanupTimer = new Timer(2 * 60 * 1000);
         cleanupTimer.Elapsed += CleanupRequestTracker;
         cleanupTimer.AutoReset = true;
         cleanupTimer.Enabled = true;
@@ -68,7 +68,7 @@
         // 妫�鏌ヨ姹傛鏁板拰鏃堕棿闄愬埗
         if (requestTracker.TryGetValue(requestKey, out var requestInfo))
         {
-            if (requestInfo.Count >= 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(3))
+            if (requestInfo.Count >= 10 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(2))
             {
                 // 濡傛灉璇锋眰娆℃暟瓒呰繃闄愬埗涓旀湭瓒呰繃10鍒嗛挓锛屾姏鍑哄紓甯�
                 Console.WriteLine("璇锋眰娆℃暟宸茶揪鍒伴檺鍒讹紝璇风◢鍚庡啀璇曘��");
@@ -88,6 +88,43 @@
             requestTracker[requestKey] = (1, DateTime.Now);
         }
 
+
+        // 璁板綍璇锋眰鍙傛暟
+        LogRequestParameters(parameters, url);
+
+        // 鍒涘缓HttpClient瀹炰緥
+        using (HttpClient client = new HttpClient())
+        {
+            // 灏嗗弬鏁拌浆鎹负FormUrlEncodedContent
+            string content = JsonConvert.SerializeObject(parameters);
+
+            //client.Timeout = TimeSpan.from;
+
+            var request = new HttpRequestMessage(HttpMethod.Post, url);
+
+            request.Content = new StringContent(content, Encoding.UTF8, "application/json");
+            //var content = new FormUrlEncodedContent(ConvertToKeyValuePairs(parameters));
+            //// 鍙戦�丳OST璇锋眰骞惰幏鍙栧搷搴�
+            //HttpResponseMessage response = await client.PostAsync(url, content);
+            HttpResponseMessage response = await client.SendAsync(request);
+
+            // 纭繚鍝嶅簲鎴愬姛
+            response.EnsureSuccessStatusCode();
+
+            // 璇诲彇鍝嶅簲鍐呭
+            string responseBody = await response.Content.ReadAsStringAsync();
+
+            // 璁板綍鍝嶅簲鍙傛暟
+            LogResponseParameters(responseBody, url);
+
+            // 杩斿洖鍝嶅簲鍐呭
+            return responseBody;
+        }
+    }
+
+    public static async Task<string> PostNotLimitAsync(string url, Dictionary<string, object> parameters)
+    {
+       
         // 璁板綍璇锋眰鍙傛暟
         LogRequestParameters(parameters, url);
 
@@ -157,7 +194,7 @@
         DateTime now = DateTime.Now;
 
         // 閬嶅巻骞舵竻鐞唕equestTracker涓秴杩�10鍒嗛挓鐨勮褰�
-        var keysToRemove = requestTracker.Keys.Where(key => now > requestTracker[key].LastRequestTime.AddMinutes(10)).ToList();
+        var keysToRemove = requestTracker.Keys.Where(key => now > requestTracker[key].LastRequestTime.AddMinutes(2)).ToList();
 
         foreach (var key in keysToRemove)
         {

--
Gitblit v1.9.3