使用两个不同的端点绑定连接到单个WCF服务

使用两个不同的端点绑定连接到单个WCF服务,wcf,wcf-binding,Wcf,Wcf Binding,我是WCF的新手,(我希望)我有一个“noob”问题。我搜索了这个网站,没有找到我想要的答案。如果这个问题已经得到了回答,而我错过了,我深表歉意 我正在使用ChannelFactory编程连接到我的服务。我遇到的问题是,客户端无法连接到我的第一个服务端点,除非我注释掉第二个服务端点(MSMQ服务端点)。希望这能有所帮助 契约是不同的,我在客户端指定了正确的绑定(分别是WSDualHttpBinding和NetMsmqBinding) 请告诉我是否有办法解决这个问题,或者是否需要更多信息 我感谢你

我是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>