WPF WebBrowser控件似乎使用代理(fiddler)但没有配置

时间:2015-01-20 06:47:49

标签: .net wpf internet-explorer webbrowser-control fiddler

昨天我刚刚将一个WPF WebBrowser控件添加到了一个新的从头创建的WPF应用程序中。但是使用" http://www.google.de"调用导航方法例如,导致"导航已取消"控件中的错误消息。首先,我完全禁用了我的防火墙但没有改变。我检查了IE互联网选项的孤立代理配置,但没有配置代理。大约一个小时后,我启动了HTTP代理工具fiddler来检查HTTP请求是否到达fiddler,或者请求是否在到达之前失败。并且惊讶:请求到达提琴手并且网站被打开。我检查了所有我知道的代理设置的双倍和四倍:

  • 再次使用IE互联网选项(未找到代理设置!)
  • machine.config,适用于所有已安装的32位和64位.NET框架版本(未找到代理设置!)
  • 在app.config中禁用代理我现在特意添加到我的WPF应用程序中(没有发生任何事情)

使用WebClient.DownloadString的新创建的控制台应用程序可以正常工作!所以我认为这不是全局配置错误的.NET Framework的问题。所有其他已安装的浏览器,如IE,Firefox,Chrome等,都可以在没有fiddler启动的情况下工作!

要完全确定没有为我的进程启用代理,我已从WPF应用程序进程中读取了注册表中的Internet选项,但未设置ProxyServer / ProxyEnabled:

  • [CU] \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Internet Settings
  • [CU] \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings
  • [LM] \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Internet Settings
  • [LM] \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings

请帮帮我!我完全被难过了!

来自德国的问候,

托拜厄斯

3 个答案:

答案 0 :(得分:2)

“WPF Web浏览器”实际上只是Internet Explorer Web浏览器对象的托管实例,因此,默认情况下,它采用系统的代理设置。值得注意的是,它不采用.NET代理配置设置,因此*.config文件中没有一个应该是相关因素。

退后一步:

  1. 您是否为所有主机名或仅针对该特定网址存在此问题?
  2. 使用HTTPS或仅HTTP时,您是否遇到此问题?
  3. 如果您启动Fiddler,禁用捕获(取消触发文件>捕获)并访问控件中的http://127.0.0.1:8888/,会发生什么?
  4. 您是否尝试在其他计算机上运行应用程序?它的表现有所不同吗?
  5. 您是否安装了第三方防病毒/防火墙软件?
  6. 如果您运行http://www.bayden.com/dl/dotnetbrowser.exe它是否表现出相同的行为?

答案 1 :(得分:0)

我绝对相信我的防火墙不是问题所在。这真的很尴尬。我只将防火墙设置为"允许与规则不匹配的出站连接"。实际上有一个旧的孤立规则阻止了我的申请。 Fiddler只是将其注册为系统代理而未被阻止。我很伤心:真的很尴尬: - (

答案 2 :(得分:-1)

使用Uri参数进行导航。例: 导航(新的Uri(" http://www.google.de"));