#c_sharp
В клиентском ПО в отдельном потоке идет работа с сервером. Программа в отдельном Task отправляет файл и ждет пока сервер обработает и пришлет ответ. Если пользователь хочет закрыть соединение tcpClient.Close() то в Task выбросится исключение. Как корректно в данной ситуации закрывать соединение?
Ответы
Ответ 1
Не дело подставлять подножку своему коду, убивая объект, с которым другой поток ведёт работу. Передайте сигнал о необходимости окончания работы в работающий Task (например, через CancellationToken), и пусть этот Task сам закроет свой TcpClient.
Комментариев нет:
Отправить комментарий