我正在开发一个具有多个WCF服务的解决方案,这些服务都是相互通信的,即使它们的类型不同。这些服务通过ChannelFactory通用接口相互连接,每个服务都托管在ServiceHost中。
我的问题是,如果在服务器之间使用回调契约来相互通信是否正确,如果是这样,这样的解决方案将如何看待。
目前我不喜欢这种实现,因为每个服务都需要托管一些具有不同接口的端点,其中一些用于其他服务,一些用于其他服务。
当我尝试在ServiceHost中托管的服务类中实现回调协议时,它失败了。
答案 0 :(得分:0)
首先,每当你发一个问题说“它失败了”时,你需要告诉我们它失败的方式。如果存在异常,则需要通过发布ex.ToString()
的结果来发布整个异常,包括所有InnerException实例。
对于您的问题,我将实现一个服务合同,该合同代表需要与其他服务通信的每个服务的一部分。还有一个与此服务合同相关的回调合同。
这样,就好像每个服务都运行一个仅用于服务到服务通信的微型服务。然后,他们可以使用服务之间传递的信息做自己的事情。