由于端点转换失败,EndpointDispatcher上的ContractFilter不匹配

时间:2014-01-07 20:12:42

标签: xml wcf slowcheetah

我在控制台应用程序中使用了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>

我想要的是在调试时替换地址。

2 个答案:

答案 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>