|
|
@@ -792,21 +792,27 @@ namespace YSAI.Opc.ua.client
|
|
|
//添加监控项
|
|
|
allSubscriptions[Tag].AddItems(monitoredItems);
|
|
|
//添加订阅
|
|
|
- clientSession?.AddSubscription(allSubscriptions[Tag]);
|
|
|
- //在服务器上创建订阅并添加所有监视项
|
|
|
- if (!allSubscriptions[Tag].CreateAsync().Wait(basics.Timeout))
|
|
|
+ if (clientSession.AddSubscription(allSubscriptions[Tag]))
|
|
|
{
|
|
|
- //// 将任何更改应用于订阅项
|
|
|
- //if (!allSubscriptions[Tag].ApplyChangesAsync().Wait(basics.Timeout))
|
|
|
- //{
|
|
|
- // allSubscriptions?.Remove(Tag, out _);
|
|
|
- // return Break("AddSubscribe", false, "将任何更改应用于订阅项超时");
|
|
|
- //}
|
|
|
- //}
|
|
|
- //else
|
|
|
- //{
|
|
|
- allSubscriptions?.Remove(Tag, out _);
|
|
|
- return Break("AddSubscribe", false, "在服务器上创建订阅并添加所有监视项超时");
|
|
|
+ //在服务器上创建订阅并添加所有监视项
|
|
|
+ if (allSubscriptions[Tag].CreateAsync().Wait(basics.Timeout))
|
|
|
+ {
|
|
|
+ // 将任何更改应用于订阅项
|
|
|
+ if (!allSubscriptions[Tag].ApplyChangesAsync().Wait(basics.Timeout))
|
|
|
+ {
|
|
|
+ allSubscriptions?.Remove(Tag, out _);
|
|
|
+ return Break("AddSubscribe", false, "将任何更改应用于订阅项超时");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ allSubscriptions?.Remove(Tag, out _);
|
|
|
+ return Break("AddSubscribe", false, "在服务器上创建订阅并添加所有监视项超时");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return Break("AddSubscribe", false, "会话添加订阅失败");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -849,23 +855,28 @@ namespace YSAI.Opc.ua.client
|
|
|
//把此订阅添加到集合,方便后续移除订阅(当存在此键则更新值,不存在则添加)
|
|
|
allSubscriptions?.AddOrUpdate(Tag, subscription, (k, v) => subscription);
|
|
|
//添加订阅
|
|
|
- clientSession?.AddSubscription(allSubscriptions[Tag]);
|
|
|
- //在服务器上创建订阅并添加所有监视项
|
|
|
- if (!allSubscriptions[Tag].CreateAsync().Wait(basics.Timeout))
|
|
|
+ if (clientSession.AddSubscription(allSubscriptions[Tag]))
|
|
|
+ {
|
|
|
+ //在服务器上创建订阅并添加所有监视项
|
|
|
+ if (allSubscriptions[Tag].CreateAsync().Wait(basics.Timeout))
|
|
|
+ {
|
|
|
+ // 将任何更改应用于订阅项
|
|
|
+ if (!allSubscriptions[Tag].ApplyChangesAsync().Wait(basics.Timeout))
|
|
|
+ {
|
|
|
+ allSubscriptions?.Remove(Tag, out _);
|
|
|
+ return Break("AddSubscribe", false, "将任何更改应用于订阅项超时");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ allSubscriptions?.Remove(Tag, out _);
|
|
|
+ return Break("AddSubscribe", false, "在服务器上创建订阅并添加所有监视项超时");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- // // 将任何更改应用于订阅项
|
|
|
- // if (!allSubscriptions[Tag].ApplyChangesAsync().Wait(basics.Timeout))
|
|
|
- // {
|
|
|
- // allSubscriptions?.Remove(Tag, out _);
|
|
|
- // return Break("AddSubscribe", false, "将任何更改应用于订阅项超时");
|
|
|
- // }
|
|
|
- //}
|
|
|
- //else
|
|
|
- //{
|
|
|
- allSubscriptions?.Remove(Tag, out _);
|
|
|
- return Break("AddSubscribe", false, "在服务器上创建订阅并添加所有监视项超时");
|
|
|
+ return Break("AddSubscribe", false, "会话添加订阅失败");
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
return Break("AddSubscribe", true);
|
|
|
}
|