From 06e0e3b7d61e95902a6129de2490461cd0693e1d Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 15 十月 2025 15:06:40 +0800
Subject: [PATCH] 新增异步方法并优化服务调用逻辑在多个数据库文件中进行了二进制文件的修改、删除和新增操作,可能涉及数据库内容的更新或重建。在 HttpsClient.cs文件中新增了 PostNotLimitAsync方法,用于发送支持 JSON 格式的异步 HTTP POST 请求,并记录请求和响应参数。在 AgingInOrOutInputService.cs文件中,将 HttpsClient.PostAsync替换为PostNotLimitAsync,以利用新方法的功能特性。同时删除了不再需要的注释代码。

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs |   61 ++++++++++++++++--------------
 1 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs
index 6b3e1fa..13fd3cc 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Communicator/Siemens/SiemensS7Communicator.cs
@@ -157,9 +157,9 @@
                 }
                 else
                 {
-                    //return true;
+                    return true;
                     object? obj = null;
-                    for (int i = 0; i < 3; i++)
+                    for (int i = 0; i < 5; i++)
                     {
                         T readValue = Read<T>(address);
                         stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, readValue, value));
@@ -169,7 +169,7 @@
                             stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAndReadCheckSuccess, address, value, readValue));
                             return true;
                         }
-                        else if (i < 2)
+                        else if (i < 4)
                         {
                             Write(address, value);
                         }
@@ -605,39 +605,42 @@
             {
                 OperateResult operateResult = plc.WriteCustomer(address, value);
                 stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteData, address, JsonConvert.SerializeObject(value)));
+                #region
                 if (operateResult.IsSuccess)
                 {
-                    object? obj = null;
-                    for (int i = 0; i < 2; i++)
-                    {
-                        T readValue = ReadCustomer<T>(address);
-                        stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, address, JsonConvert.SerializeObject(readValue)));
-                        obj = readValue;
-                        PropertyInfo[] propertyInfos = typeof(T).GetProperties();
-                        for (int j = 0; j < propertyInfos.Length; j++)
-                        {
-                            object? writeValueItem = propertyInfos[j].GetValue(value);
-                            object? readValueItem = propertyInfos[j].GetValue(readValue);
-                            if (writeValueItem.Equals(readValueItem))
-                            {
-                                stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAndReadCheckSuccess, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(readValue)));
-                            }
-                            else
-                            {
-                                break;
-                            }
-                            if (j == propertyInfos.Length - 1)
-                                return true;
-                        }
-                        plc.WriteCustomer(address, value);
-                    }
-                    stringBuilder.AppendLine(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)));
-                    throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)), CommunicationErrorType.WriteFailed);
+                    //object? obj = null;
+                    //for (int i = 0; i < 5; i++)
+                    //{
+                    //    T readValue = ReadCustomer<T>(address);
+                    //    stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAfterRead, address, JsonConvert.SerializeObject(readValue)));
+                    //    obj = readValue;
+                    //    PropertyInfo[] propertyInfos = typeof(T).GetProperties();
+                    //    for (int j = 0; j < propertyInfos.Length; j++)
+                    //    {
+                    //        object? writeValueItem = propertyInfos[j].GetValue(value);
+                    //        object? readValueItem = propertyInfos[j].GetValue(readValue);
+                    //        if (writeValueItem.Equals(readValueItem))
+                    //        {
+                    //            stringBuilder.AppendLine(string.Format(CommunicationInfoMessage.WriteAndReadCheckSuccess, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(readValue)));
+                    //        }
+                    //        else
+                    //        {
+                    //            break;
+                    //        }
+                    //        if (j == propertyInfos.Length - 1)
+                    //            return true;
+                    //    }
+                    //    plc.WriteCustomer(address, value);
+                    //}
+                    //stringBuilder.AppendLine(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)));
+                    //throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteAndReadCheckFaild, address, JsonConvert.SerializeObject(value), JsonConvert.SerializeObject(obj)), CommunicationErrorType.WriteFailed);
+                    return true;
                 }
                 else
                 {
                     throw new CommunicationException(string.Format(CommunicationExceptionMessage.WriteFailedException, typeof(T).Name, address, JsonConvert.SerializeObject(value), operateResult.Message), CommunicationErrorType.WriteFailed);
                 }
+                #endregion
             }
             catch (Exception ex)
             {

--
Gitblit v1.9.3