Beispiel #1
0
        private void DisconnectImpl(bool rpcFailed = false)
        {
            if (!IsConnected)
            {
                return;
            }

            Log.TraceFormat("Disconnecting from '{0}' opc server", Uri);
            if (!rpcFailed)
            {
                _shutdownConnectionPoint.Disconnect();
            }
            RemoveAllGroups(rpcFailed);

            if (ComObject != null)
            {
                try
                {
                    ComObject.ReleaseComServer();
                }
                catch (Exception ex)
                {
                    Log.Error("Failed to release opc server's COM object", ex);
                }
            }

            ComObject = null;
            Log.TraceFormat("Disconnected from '{0}' opc server", Uri);
            OnConnectionStateChanged(false);
        }
Beispiel #2
0
 private void Disconnect()
 {
     _connectionPoint.Disconnect();
 }