Я сталкиваюсь с проблемой странного соединения с сокетом в приложении .net windows. Я использую сокет из .net для асинхронной связи с устаревшей базой данных кэша межсистем.
У меня есть конкретное значение таймаута в приложение, когда истекает время ожидания, пользователю предлагается оставаться подключенным к приложению. Когда я говорю, оставайтесь на связи, сокет не сбрасывается.
Я установил тайм-аут на 30 минут и говорю, оставайся на связи в течение первого простоя. Затем, когда я перемещаюсь по приложению, оно работает нормально.
Если без навигации в приложении и сказать, оставайтесь на связи во второй раз, и перейти в приложении, я получаю сокет "хост отказался" ошибка подключения. Это, я могу предположить, может быть сокет завершен сокет.
Но странная часть, если я установить тайм-аут приложения на 10 минут, то я также получаю ошибку сокета во второй раз. Когда я проверяю свойство подключенных сокетов, это все еще верно. Я не перехватываю исключение при вызове метода отправки сокетов. Но данные не передаются из сокета. Я проверил другой код .net. это нормально. Эта проблема также возникает редко, только 1 из 10 раз. Любые предложения будут очень полезны.