背景
我正在修改自动维基浏览器 http://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser使用托管在安全服务器上的 MediaWiki 站点。我允许用户通过 C# 应用程序中的 WebBrowser 控件手动登录,然后保存存储的 cookie 以在 HttpWebRequest 中使用。
问题
我遇到的问题是,任何使用 SSL/TLS (https:// urls) 的网站都需要非常长的时间来加载,并且经常超时。我不仅在有问题的 MediaWiki 网站上尝试过此操作,还在 PayPal 和安全 GMail 等其他安全网站上尝试过。
出于好奇,我在 Visual Studio 的帮助浏览器、[VB WebBrowser 示例][2] 和 [WPF WebBrowser Control 示例][3] 中尝试了相同的 https 站点,但它们都非常慢。这些相同的网站在 Internet Explorer 7(当然还有 Firefox)中运行良好。
问题
什么会导致使用 .NET WebBrowser 控件时 SSL/TLS 站点(https url)非常慢,但在 Internet Explorer 中加载正常?
在编码我们的聊天应用程序和 Web 服务时,我们也遇到的问题之一是 HTTP、SSL 类型请求需要花费大量时间来解析。事实上,当我们编写站点检查器(确保所有站点/服务都在线)时,最初需要 20 秒到 45 秒才能加载所有站点......在以下情况下不太有用: .NET 应用程序。
但是,当我将代理设置为 NULL 时,它几乎立即加载。
有时你这样做会出错,所以你也可以这样做:
_api.Proxy = WebRequest.DefaultWebProxy;
但是,我仍然发现:
_api.Proxy = null;
仍然最适合大多数网络请求。
您还可以强制代理和超时比 app.config 中的默认 WinHTTP 设置小得多,但指定上述内容应该可以解决问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)