Shun 2 lat temu
rodzic
commit
da65e0c8cc

+ 37 - 8
src/YSAI.DAQ/YSAI.Opc/ua/client/OpcUaClientOperate.cs

@@ -791,9 +791,22 @@ namespace YSAI.Opc.ua.client
                                 //添加订阅
                                 clientSession?.AddSubscription(allSubscriptions[Tag]);
                                 //在服务器端创建订阅
-                                allSubscriptions[Tag].Create();
-                                // 在服务器端创建监控项
-                                allSubscriptions[Tag].ApplyChanges();
+                                if (allSubscriptions[Tag].CreateAsync().Wait(10000))
+                                {
+                                    // 在服务器端创建监控项
+                                    if (allSubscriptions[Tag].ApplyChangesAsync().Wait(10000))
+                                    {
+                                        return Break("AddSubscribe", true);
+                                    }
+                                    else
+                                    {
+                                        return Break("AddSubscribe", false, "在服务器端创建监控项超时");
+                                    }
+                                }
+                                else
+                                {
+                                    return Break("AddSubscribe", false, "在服务器端创建订阅超时");
+                                }
                             }
                         }
                         else
@@ -831,10 +844,23 @@ namespace YSAI.Opc.ua.client
                             //添加订阅
                             clientSession?.AddSubscription(allSubscriptions[Tag]);
                             //在服务器端创建订阅
-                            allSubscriptions[Tag].Create();
-                            // 在服务器端创建监控项
-                            allSubscriptions[Tag].ApplyChanges();
-                            
+                            if (allSubscriptions[Tag].CreateAsync().Wait(10000))
+                            {
+                                // 在服务器端创建监控项
+                                if (allSubscriptions[Tag].ApplyChangesAsync().Wait(10000))
+                                {
+                                    return Break("AddSubscribe", true);
+                                }
+                                else
+                                {
+                                    return Break("AddSubscribe", false, "在服务器端创建监控项超时");
+                                }
+                            }
+                            else
+                            {
+                                return Break("AddSubscribe", false, "在服务器端创建订阅超时");
+                            }
+
                         }
                         return Break("AddSubscribe", true);
                     }
@@ -902,7 +928,10 @@ namespace YSAI.Opc.ua.client
                                 {
                                     if (alls2.Key.Equals(alls.Key))
                                     {
-                                        clientSession?.RemoveSubscriptionAsync(alls.Value).Wait();
+                                        if (!clientSession.RemoveSubscriptionAsync(alls.Value).Wait(10000))
+                                        {
+                                            LogHelper.Error("移除订阅超时");
+                                        }
                                         //移除后立马跳到上一级,防止性能消耗
                                         break;
                                     }