如何一次为多个WCF绑定配置代理地址?
要在WCF中配置代理设置,我可以这样解决:如何一次为多个WCF绑定配置代理地址?,wcf,wcf-binding,Wcf,Wcf Binding,要在WCF中配置代理设置,我可以这样解决: <binding name="bindingName" proxyAddress="http://proxySomething"> 但是,这需要复制到您拥有的每个绑定中。我想知道是否有一种方法可以在一个地方为所有绑定设置此选项。比如: <proxy address="http://proxySomething" forAllBindings="true"/> 有这样的背景吗?我试过找,但找不到 更新1:还应注意,我有
<binding name="bindingName" proxyAddress="http://proxySomething">
但是,这需要复制到您拥有的每个绑定中。我想知道是否有一种方法可以在一个地方为所有绑定设置此选项。比如:
<proxy address="http://proxySomething" forAllBindings="true"/>
有这样的背景吗?我试过找,但找不到
更新1:还应注意,我有多种类型的绑定(
basicHttpBinding
、customBinding
、wsHttpBinding
和webHttpBinding
)以及一些类型的命名绑定 如果您使用的是.net 4.5,则可以使用简化配置样式。这允许您配置特定绑定类型,然后当您的客户端或服务使用该特定绑定类型(例如basicHttpBinding)时,将使用修改后的配置
要修改deafult绑定,只需不指定名称即可
所以
您可以使用网络设置中的元素:
<configuration>
<system.net>
<defaultProxy>
<proxy proxyaddress="http://someproxy:8080"/>
</defaultProxy>
</system.net>
</configuration>
更多详细信息请参见信息支持
请注意,这是一个全局代理和实例。+1感谢您的回答!如果我没有多种类型的绑定和命名绑定,这将很好地工作。我已经为我的问题添加了更新。因此,即使它对我没有帮助,也可能对其他人有帮助。@Halvard您愿意为您的解决方案添加一点代码吗,还是只需要配置文件解决方案?Web服务访问扩展到多个项目。我怀疑在没有大量重构的情况下,我能否在一个地方编写任何代码,因此我希望有一个配置解决方案。@Halvard您可能能够为每个需要的绑定创建一个bindingextension。但这听起来好像与更新默认绑定设置的工作量相同。唯一的好处是,您可以从配置中的单个点将代理地址作为变量进行控制。因为这个想法是为了能够在一个地方为未来的客户更改代理地址,所以这听起来像是我可以使用的东西。我明天会试着去看看。是的!这几乎就像我以前见过的一样——我觉得这必须是一种将其全球化的方式。谢谢,这个有用:)