要在WCF中配置代理设置,我可以这样解决:
<binding name="bindingName" proxyAddress="http://proxySomething">
但是,这需要复制到您拥有的每个绑定中。我想知道是否有办法在一个地方为所有绑定设置此项。类似的东西:
<proxy address="http://proxySomething" forAllBindings="true"/>
有这样的设定吗?我试过搜索,但找不到它。
更新1:还应注意,我有多种类型的绑定(basicHttpBinding
,customBinding
,wsHttpBinding
和webHttpBinding
)以及一些类型的几个命名绑定。
答案 0 :(得分:2)
您可以使用网络设置中的defaultProxy
元素:
<configuration>
<system.net>
<defaultProxy>
<proxy proxyaddress="http://someproxy:8080"/>
</defaultProxy>
</system.net>
</configuration>
信息支持blog post中的更多详细信息。
请注意,这也是全局代理和it used by WebRequest实例。
答案 1 :(得分:1)
如果您使用的是.net 4.5,则可以使用简化的配置样式WCF bindings。这允许您配置特定的绑定类型,然后当您的客户端或服务使用该特定绑定类型(比如basicHttpBinding)时,将使用修改后的配置。
修改deafult绑定,只是没有具体的名称。
所以
<bindings>
<basicHttpBinding>
<binding messageEncoding="Mtom" />
</<basicHttpBinding>
</bindings>
现在 如果使用basicHttpBinding创建服务,它将使用Mtom而不是Text。