【问题标题】:Use svcutil.exe with a webproxy将 svcutil.exe 与 Web 代理一起使用
【发布时间】:2011-02-09 09:42:22
【问题描述】:

我有一个场景,我需要使用 svcutil.exe 使用服务,但服务的 wsdl 包含以下部分

<xsd:schema targetNamespace="http://tempuri.org/Imports">
  <xsd:import schemaLocation="http://mysite/service.svc?xsd=xsd0" namespace="http://tempuri.org/"/>
  <xsd:import schemaLocation="http://mysite/service.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
  <xsd:import schemaLocation="http://mysite/service.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Pensjonskalkulator"/>
  <xsd:import schemaLocation="http://mysite/service.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
</xsd:schema>

问题是这些架构位置只能通过网络代理访问。如果我在 IE 设置中设置代理,我可以浏览 IE 中的架构位置。但看起来 svcutil.exe 在下载这些额外架构时会忽略这些设置。

下载额外信息时如何让 svcutil.exe 使用我的 webproxy?

更新:实际上,在 Internet Explorer 中输入的代理设置适用于 svcutil.exe。是其他不相关的问题导致了我的问题。

【问题讨论】:

    标签: .net wcf svcutil.exe


    【解决方案1】:

    可以通过在 Internet Explorer -> 工具 -> Internet 选项 -> 连接 -> LAN 设置 -> 代理服务器中设置 svcutil.exe 来指定要使用的代理,然后指定地址和端口。

    【讨论】:

      【解决方案2】:

      您可以将其添加到 svcutil.config

      <system.net>   
        <defaultProxy>     
           <proxy proxyaddress="http://your.proxy.com:8080"  bypassonlocal="true" /> 
        </defaultProxy>
      </system.net>
      

      如果您的代理需要身份验证,请参阅 this answer 以提供用户名/密码和/或域。

      【讨论】:

      • 这似乎对它没有任何影响,不过是个好建议。
      • 您能否就如何在代理服务器上处理身份验证提供一些指导?我希望避免“意外”。
      • @Badgerspot 添加了链接
      • 谢谢@rene,非常感谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 2013-01-10
      • 2018-11-02
      • 2014-03-06
      • 2016-12-09
      相关资源
      最近更新 更多