Я делаю запрос от веб-сервера для некоторого текста и отображаю его в текстовом поле, используя следующий код:
Dim client As WebClient = New WebClient()
Dim theText As String = client.DownloadString("http://192.168.1.110/text.html")
Me.TextBox1.Text = theText
Когда я ее запускаю, команда client.DownloadString занимает 6 или 7 секунд (получает около 20 байт текста). Если я сделаю такой же запрос в веб-браузере, то это в основном немедленно. Я прочитал несколько связанных сообщений на других сайтах о члене прокси (client.Proxy), который должен быть нулевым. Учитывая, что VB.Net не поддерживает null, я установил его на «Nothing», но производительность не изменилась. Любые идеи о том, почему это медленно?
Обновить ... да, запрос действительно выполнен. Это займет всего 6 или 7 секунд. Это только медленно при первом звонке. Если я удаляю содержимое текстового поля и запускаю его снова, это происходит немедленно. Я провел некоторое исследование по этому вопросу и обнаружил, что это связано с настройкой прокси-сервера по умолчанию (client.Proxy), который он читает из настроек браузера IE. Опять же, я видел эту проблему в других сообщениях, но никогда в VB.Net, и решение всегда состоит в том, чтобы установить client.Proxy = Null. Однако VB.Net не поддерживает NULL. Я попытался установить его на «Ничего», но, похоже, это не помогло.