public Task DisconnectAsync() { try { _mitar.Stop(); _workerController.CloseWorker(_syncWorker); Thread.Sleep(100); _mitar = null; _stream?.Close(); _stream?.Dispose(); _stream = null; _tcpClient?.Close(); _tcpClient?.Dispose(); _tcpClient = null; return(Task.CompletedTask); } catch (SocketException e) { IsConnected = false; throw new DeviceConnectionException("Ошибка отключения от кардиомонитора", e); } catch (ObjectDisposedException e) { IsConnected = false; throw new DeviceConnectionException("Ошибка отключения от кардиомонитора", e); } catch (Exception e) { IsConnected = false; throw new DeviceProcessingException("Ошибка отключения от кардиомонитора", e); } }
public void Dispose() { _mitar?.Stop(); _mitar?.Dispose(); _workerController.CloseWorker(_syncWorker); _stream?.Close(); _stream?.Dispose(); _tcpClient?.Close(); _tcpClient?.Dispose(); }