使用两个不同的端点绑定连接到单个WCF服务
我是WCF的新手,(我希望)我有一个“noob”问题。我搜索了这个网站,没有找到我想要的答案。如果这个问题已经得到了回答,而我错过了,我深表歉意 我正在使用ChannelFactory编程连接到我的服务。我遇到的问题是,客户端无法连接到我的第一个服务端点,除非我注释掉第二个服务端点(MSMQ服务端点)。希望这能有所帮助 契约是不同的,我在客户端指定了正确的绑定(分别是WSDualHttpBinding和NetMsmqBinding) 请告诉我是否有办法解决这个问题,或者是否需要更多信息 我感谢你的帮助 泰勒使用两个不同的端点绑定连接到单个WCF服务,wcf,wcf-binding,Wcf,Wcf Binding,我是WCF的新手,(我希望)我有一个“noob”问题。我搜索了这个网站,没有找到我想要的答案。如果这个问题已经得到了回答,而我错过了,我深表歉意 我正在使用ChannelFactory编程连接到我的服务。我遇到的问题是,客户端无法连接到我的第一个服务端点,除非我注释掉第二个服务端点(MSMQ服务端点)。希望这能有所帮助 契约是不同的,我在客户端指定了正确的绑定(分别是WSDualHttpBinding和NetMsmqBinding) 请告诉我是否有办法解决这个问题,或者是否需要更多信息 我感谢你
此主题可能与以下内容相关: 我不认为你可以有一个单一的服务与两个不同的合同。我认为当您同时拥有两个端点时,WCF就是无法正确启动,但是当您注释掉一个端点时,它就可以正常工作了,因为所有端点都共享相同的契约 WCF还将尝试根据契约为服务(不是每个端点)定义WSDL,但如果服务有多个契约,它将不知道该做什么 正确的做法是将其分为两个服务
编辑: 另一方面,这表明使用具有不同契约的多个端点的服务可以很好地工作,所以可能我错了
嗯…端点地址是否不同?另外,您可以发布一段代码片段,说明您如何使用ChannelFactory吗?您说过“合同不同”,但我希望它们是相同的,而且在您的代码中,您似乎使用了
IContract
。两个端点的契约是相同的接口,还是不同的接口?我相信WCF通常希望它们是相同的。当您的客户端无法连接时,是否会出现错误?此外,您可能希望在WCF服务上启用跟踪,并查看是否从日志中获得任何有意义的信息:
<services>
<service behaviorConfiguration="DefaultBehavior" name="[intentionally removed]">
<endpoint
address="[intentionally removed]"
behaviorConfiguration="DefaultEndpointBehavior"
binding="wsDualHttpBinding"
bindingConfiguration="DualBinding"
name="WrapperEndpoint"
contract="[intentionally removed]"
/>
<endpoint
address="[intentionally removed]"
behaviorConfiguration="DefaultEndpointBehavior"
binding="netMsmqBinding"
bindingConfiguration="MsmqBinding"
name="MsmqEndpoint"
contract="[intentionally removed]"
/>
</service>
</services>