我有这个错误。我知道哪里有问题,但我不能解决它。 我有WCF Web服务正在运行。 我需要与第一个Web服务相同的seckond Web服务,但它具有不同的命名空间。 本地主机/ test1.svc 本地主机/ test2.svc 我不想添加web referance所以我在test1.svc?wsdl上使用了wsdl.exe 现在我想用那个类test2.svc调用,但是我正在解决这个错误 ContractFilter在EndpointDispatcher上不匹配 我找到了this
但我不知道如何使用它。或者有任何其他方式dinamicli添加Web服务URL。
答案 0 :(得分:1)
在使用服务时,您需要为服务定义两个不同的端点:
例如
<endpoint address="address1"
binding="basicHttpBinding" bindingConfiguration="test1config" contract="service.icontract"
name="test1endpoint" />
<endpoint address="address2"
binding="basicHttpBinding" bindingConfiguration="test2config" contract="service.icontract"
name="test2endpoint" />
然后,您可以在代码中指定要使用的端点,如下所示:
var channelFactory = new ChannelFactory<IContract>("your-endpoint-name-here");
并使用它以正常方式创建频道。
通过更改端点名称,您可以选择在合适的时间使用哪一个。