0
我有以下WCF端点配置:WCF - 客户端是否必须具有与端点相同的行为?
<service behaviorConfiguration="MyNamespace.ContainerManagementServiceBehavior"
name="MyNamespace.ContainerManagementService">
<endpoint address="" binding="basicHttpBinding"
name="ContainerManagementbasicHttpEndpoint" contract="MyNamespace.IContainer"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
<behaviors>
<behavior name="MyNamespace.ContainerManagementServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</behaviors>
这里是我的客户端配置:
<client>
<endpoint address="http://localhost:3227/Services/ContainerManagementService.svc"
binding="basicHttpBinding"
contract="MyNamespace2.IAQSIDMService" name="externalService" />
</client>
我做一个Web服务调用动态,提供不同的地址:
var svc = new AQSIDMServiceClient(Constants.External_Service_ConfigurationName, serviceAddress);
当我呼叫端点时,出现以下错误消息:
{“由于EndpointDispatcher中的ContractFilter不匹配,无法在接收方处理Action'http:// IMyService/CreateContainer'的消息。 这可能是因为合同不匹配(发件人和收件人之间的错误操作)或发件人和收件人之间的绑定/安全不匹配。检查发送者和接收者有相同的合同,相同的绑定(包括安全要求,如信息,运输,无)。“}
难道这是由于这样的事实,我的客户不具有相同的serviceBehavior作为终点?有没有别的东西,我可能会缺失?
谢谢!