Сайты SSL / TLS / HTTPS работают очень медленно в элементе управления C # /. NET WebBrowser, но хороши в Internet Explorer - PullRequest
3 голосов
/ 27 июля 2010

Фон

Я изменяю AutoWikiBrowser для работы с сайтом MediaWiki, размещенным на безопасном сервере. Я разрешаю пользователю войти в систему вручную через элемент управления WebBrowser в приложении C #, а затем сохранить сохраненные файлы cookie для использования в HttpWebRequest's.

Проблема

Проблема, с которой я сталкиваюсь, заключается в том, что любой сайт, который использует SSL / TLS (https: // urls), загружается невероятно долго, часто по таймауту. Я пробовал это не только на данном сайте MediaWiki, но и на других безопасных сайтах, таких как PayPal и безопасный GMail.

Из любопытства я попробовал те же https-сайты в браузере справки Visual Studio, [Пример VB WebBrowser] [2] и [Пример управления WPF WebBrowser] [3], и все они были очень медленными. Эти же сайты прекрасно работают в Internet Explorer 7 (и, конечно, Firefox).

Вопрос

Что может привести к тому, что сайты SSL / TLS (https urls) будут очень медленными, используя элемент управления .NET WebBrowser, но нормально загрузятся в Internet Explorer?

1 Ответ

0 голосов
/ 17 июня 2011

Одна из вещей, с которой мы столкнулись при кодировании нашего приложения чата и веб-сервисов, заключалась в том, что HTTP-запрос типа SSL будет обрабатываться очень долго.На самом деле, когда мы писали наш инструмент проверки сайтов (который гарантирует, что все наши сайты / сервисы подключены к сети), первоначально потребовалось бы от 20 секунд до 45 секунд, чтобы просто загрузить все сайты ....... не очень полезно в.NET-приложение.

Однако, когда я устанавливаю прокси в NULL, он загружается почти мгновенно.

Иногда при этом возникает ошибка, поэтому вы тоже можете это сделать:

_api.Proxy = WebRequest.DefaultWebProxy;

Но я все же обнаружил, что:

_api.Proxy = null;

По-прежнему работает лучше всего для большинства веб-запросов.

Вы также можете заставить прокси и тайм-ауты быть очень большимименьше, чем настройки WinHTTP по умолчанию внутри вашего app.config, но указание выше должно помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...