【问题标题】:WCF Client + Windows Service + ISA = (407) Proxy Authentication RequiredWCF 客户端 + Windows 服务 + ISA = (407) 需要代理身份验证
【发布时间】:2010-06-28 06:44:57
【问题描述】:

“不要再这样了”我听到你说。是的,我知道。但是这个不一样……我想。

场景: 我有一个使用远程 WCF 服务的 Windows 服务(作为 SYSTEM 运行)。这台机器位于一个 ISA 代理后面(没有域,也没有代理用户名/密码),我已将代理添加到我的 app.config。这里是:

<system.net>
  <defaultProxy useDefaultCredentials="true">
    <proxy 
        bypassonlocal="False" 
        proxyaddress="http://myproxyserver:8080"
        usesystemdefault="False" />
  </defaultProxy>
</system.net>

例外情况:

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)

为什么不一样? 我已将服务更改为以管理员身份运行,Windows 服务能够完美访问 WCF 服务。不幸的是,我需要使用 SYSTEM 帐户,因为该服务运行一些旧的 COM+ 东西,这需要设置“允许服务与桌面交互”选项。 (此选项仅适用于 SYSTEM 帐户)

这奇怪的另一个原因是SYSTEM应该是大爷的全能账户(morehere

我尝试过的: 我试过thisthisthis...和thensome

这个有点神秘。为什么我的app.config 可以为管理员工作,但不能为 SYSTEM 工作?

感谢您的帮助!

【问题讨论】:

  • 更新:当“允许服务与桌面交互”被取消选中时,wcf客户端再次工作。嗯...我会进一步研究。

标签: c# vb.net wcf firewall


【解决方案1】:

发现问题。原来它与帐户无关。由于超时时间比较长,我并没有立即看到这个异常,这让我认为它与正在使用的帐户有关。

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

【讨论】:

  • 那么与 myproxyserver:8080" usesystemdefault= 相比,您在 web.config 中的最终设置是什么“假” />
  • 我无法再访问该文件,但看起来不错。
猜你喜欢
  • 2012-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多