Esempio n. 1
0
        /// <summary>
        /// Освобождаем устройство
        /// </summary>
        private void ReleaseDevice()
        {
            if (_client == null)
            {
                // устройство свободно
                return;
            }

            try
            {
                // освобождаем устройство
                _client.Release(_unitSettings.DeviceId);
                // закрываем клиентскую сессию
                _client.Dispose();
            }
            catch (LoginToDeviceManagerException)
            {
            }
            catch (DeviceManagerException)
            {
            }
            catch (DeviceNoFoundException)
            {
            }
            catch (SocketException)
            {
            }
            catch (RemotingException)
            {
            }
            finally
            {
                _client = null;
                _device = null;

                // подключение закрыто
                _eventLink.Post(TsGlobalConst.EventSource, string.Format(
                                    "[0] Подключение к диспетчеру устройств закрыто", _unitSettings));
            }
        }