我在控制台应用程序中使用了wcf soap服务,我想在app.config中使用dev url。
我总是失败,错误是
EndpointDispatcher
上的ContractFilter不匹配
我认为由于猎豹转型失败,端点与wcf服务网址不匹配。
<endpoint address="http://wsvc01/xxxDev/xxx.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_ixxx" contract="xxxServiceReference.ixxx"
name="BasicHttpBinding_ixxx" xdt:Transform="Replace" xdt:Locator="Match(address)" />
</client>
我想要的是在调试时替换地址。
答案 0 :(得分:0)
如果要动态配置端点,则无法使用此处显示的配置文件方法。而是在程序启动时在运行时配置所有内容,使用变量根据条件更改Web服务端点的URL。
以下是Stackoverflow中对同一主题的引用: WCF change endpoint address at runtime
这是另一个链接: http://www.packtpub.com/article/microsoft-wcf-hosting-and-configuration
答案 1 :(得分:0)
自己通过help计算出来。 尝试SetAttributes转换:
<system.serviceModel>
<client>
<endpoint name="BasicHttpBinding_IMasterEngineService"
address="http://productionServer/WebServices/MasterEngine/MasterEngineService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMasterEngineService"
contract="OverlayFarEnd.IMasterEngineService" name="BasicHttpBinding_IMasterEngineService"
xdt:Transform="SetAttributes(address)" xdt:Locator="Match(name)"/>
</client>
</system.serviceModel>