C# WCF客户端+Windows服务+ISA=(407)需要代理身份验证

C# WCF客户端+Windows服务+ISA=(407)需要代理身份验证,c#,vb.net,wcf,firewall,C#,Vb.net,Wcf,Firewall,我听你说,别再这样了。是的,我知道。但是这个不同。。。我想 情景: 我有一个Windows服务作为使用远程WCF服务的系统运行。该机器位于ISA代理的后面,没有域,也没有代理用户名/pwd,我已将代理添加到我的app.config中。这是: <system.net> <defaultProxy useDefaultCredentials="true"> <proxy bypassonlocal="False" prox

我听你说,别再这样了。是的,我知道。但是这个不同。。。我想

情景: 我有一个Windows服务作为使用远程WCF服务的系统运行。该机器位于ISA代理的后面,没有域,也没有代理用户名/pwd,我已将代理添加到我的app.config中。这是:

<system.net>
  <defaultProxy useDefaultCredentials="true">
    <proxy 
        bypassonlocal="False" 
        proxyaddress="http://myproxyserver:8080"
        usesystemdefault="False" />
  </defaultProxy>
</system.net>
为什么这是不同的? 我已将该服务更改为以管理员身份运行,并且Windows服务能够完美地访问WCF服务。不幸的是,我需要使用系统帐户,因为该服务运行一些遗留的COM+内容,这需要设置允许服务与桌面交互选项。此选项仅适用于系统帐户

这很奇怪的另一个原因是,这个系统被认为是万能的大爹爹账户

我所尝试的: 我试过了,而且。。。和

这个有点神秘。为什么我的app.config适用于管理员,但不适用于系统


谢谢你的帮助

找到了问题。结果证明这和账户无关。由于超时时间相当长,我并不总是立即看到此异常,这使我认为它与正在使用的帐户有关


问题是在生产站点上useDefaultCredentials设置为false。失败。

更新:当取消选中“允许服务与桌面交互”时,wcf客户端将再次工作。隐马尔可夫模型。。。我将对此进行更多的研究。那么,与我不再访问该文件相比,您在web.config中的最终设置是什么,但这看起来是正确的。
System.Net.WebException: 
  The remote server returned an error: (407) Proxy Authentication Required.
  at System.Net.HttpWebRequest.GetResponse()
  at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel. ...
     HttpChannelRequest.WaitForReply(TimeSpan timeout)