【发布时间】:2012-10-12 16:45:13
【问题描述】:
我能够解决客户端无法通过代理进行身份验证的问题:
var proxy = WebRequest.GetSystemWebProxy();
proxy.Credentials = CredentialCache.DefaultNetworkCredentials;
service.Proxy = proxy;
这适用于 Windows XP,但在 Windows 7 上我得到一个 407(代理未验证异常)。有谁知道有什么区别,更重要的是,我需要做什么才能让它在两个操作系统上运行?
更新
我让用户检查以下内容:
- 在注册表编辑器中,您能否转到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 并让我知道 CachedLogonsCount 的值是多少。 f
- 在开始框中,输入组策略,然后会弹出编辑组策略的选项,单击它。然后转到计算机配置\管理模板\系统\用户配置文件\删除漫游配置文件的缓存副本,让我知道它是否已配置,如果已配置,设置为什么?
赏金更新
所以,我添加了赏金。我可以从这里获取解决方案,或者只是通过 Windows 7 上的代理的替代方法...
另一个更新
我不确定这是否有用,但我们也在做以下事情:
service.PreAuthenticate = true;
service.Url = "myurl";
service.Credentials = new NetworkCredential(txt_UserName.Text, txt_Password.Text);
我的临时解决方案
这不是一个真正的解决方案,但目前有效。我正在使用 app.config 并将代理设置为默认值,并使用 ByPassList 以便甚至不使用代理。这只是可行的,因为代理目前没有强大的防火墙。对于其他客户,我需要让上述工作
【问题讨论】:
-
这有点 UAC 的味道……
-
我同意,但我找不到任何符合这些方面的文档。我正在尝试查找此类文档,如果找不到,我将尝试反编译代码并明确找出它在做什么
标签: c# .net-3.5 proxy credentials