我们正在尝试构建一个Nservicebus服务,该服务可以使用WCF与基于表单和wpf的客户端进行通信。我已经读过你可以从WcfService继承。
像:
public class ThirdPartyWebSvc : WcfService<ThirdPartyCmd, ThirdPartyCmdResponse>
然后你可以在app.config中简单地创建一个端点,就像描述here一样。但问题是我必须为每个命令创建一个端点。
我希望有一个排除任何命令的单个端点并返回其响应。
public class ThirdPartyWebSvc : WcfService<ICommand, IMessage>
有人能指出我正确的方向吗?使用Nservicebus进行客户端通信无法为我们完成,我也不想构建像服务器这样的代理,除非这是唯一的方法。
由于
答案 0 :(得分:2)
因此,根据我可以收集的内容,您希望公开一个WCF服务操作,消费者可以调用该操作以多态方式将多个可能的命令之一传递给,然后将该命令的服务路由发送到正确的NServiceBus端点然后处理命令。
首先,为了实现这一点,您应该忘记使用NserviceBus.WcfService基类,因为要使用它,您必须严格遵循您在帖子中链接的文章中的指导。
相反,你可以:
但是,您现在有以下缺点:
我希望你们开始看到如何集中这个功能并不是一个好主意。
如果您能让客户以标准方式向总线发送命令,上述所有问题都会消失,但如果没有msmq,您怎么能这样做?
嗯,首先你可以看一下other supported transports中的一个。
如果这些都不适合您并且您必须使用WCF托管服务,那么您必须遵循linked article中的指导。这个指导是为了引导你走向正确的方向 - 多个WCF服务听起来像一个痛苦,直到你试图将它们集中到一个服务 - 然后痛苦变得更大,而不是更少。