dathlin / OpcUaHelper

一个通用的opc ua客户端类库,基于.net 4.6.1创建,基于官方opc ua基金会跨平台库创建,封装了节点读写,批量节点读写,引用读取,特性读取,历史数据读取,方法调用,节点订阅,批量订阅等操作。还提供了一个节点浏览器工具。
GNU Lesser General Public License v3.0
828 stars 382 forks source link

连接触发判断一下,处于连接状态才去获取browse节点 #26

Closed wangyongxiao closed 3 years ago

wangyongxiao commented 3 years ago

我注意到连接函数Connect最开始会调用一下Disconnect,因此会在连接事件回调M_OpcUaClient_ConnectComplete里调用到PopulateBranch,此时OpcUaClient的m_session还是null,会触发一个异常,虽然M_OpcUaClient_ConnectComplete有try catch,但是vs调试时会经常因为这个异常而中断,这里用Connected值判断一下再进入PopulateBranch就不会抛异常了。

另外,EventArgs参数不管是否连接始终被设置为null,我觉得你以后会来处理这个问题吧,就没有在完善EventArgs参数上来处理这个问题