我能够解决客户端无法通过代理进行身份验证的问题,执行以下操作:
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 以便甚至不使用代理。这只是可行的,因为代理目前没有强大的防火墙。对于其他客户,我需要让上述工作