Изменение времени ожидания на удаленном удаленном TCPClientChannel / VB.Net - PullRequest
0 голосов
/ 18 октября 2018

У меня есть приложение, которое использует удаленное взаимодействие .Net для связи с удаленным оборудованием - довольно специализированной камерой.В основном это работает очень хорошо.Для захвата изображения с устройства требуется несколько секунд, и это нормально - у меня есть рабочий поток, чтобы сделать это, и я настраиваю TcpClientChannel на подходящее время ожидания:

Dim dict as IDictionary = new Hashtable
dict.Add("connectionTimeout", 1000)
dict.add("timeout", 15000)

Проблема, с которой я столкнулся, заключается в том, чтокогда приложение закрыто, мне нужно выполнить команду «GrabStop» для удаленного объекта, НО я не могу гарантировать, что удаленный объект все еще там.

    Try
        If MyRemote IsNot Nothing Then
            MyRemote.GrabStop()
        End If
    Catch ex As Exception

    End Try

ЕСЛИ удаленный объект не находится / отвечает, что это происходит безопасно, тайм-аут через 15 секунд, а не 1 секунду, которую я мог бы ожидать.В среде разработки это на самом деле не проблема для меня, но для версии выпуска это проявляется в виде сообщения «Это приложение не отвечает ... ждать / закрыть».

Таким образом, это было бы хорошо дляЛибо «ConnectionTimeout», чтобы включить его - задержка в 1 секунду вполне подойдет, либо чтобы иметь возможность изменить время ожидания на лету.Несмотря на хороший поиск, я не могу найти способ решить эту проблему.Подсказки с благодарностью оценены.

...