也许我正在树上错误的树 – 但是我有一套服务(WebAPI和WCF),使用WebSphere MQ与其他系统进行交互. 这个工作没有问题 – 直到我现在需要找到一种方式来监听其中一个队列上的消息. 这是否
这个工作没有问题 – 直到我现在需要找到一种方式来监听其中一个队列上的消息.
这是否可能,还是需要下载Windows服务路线?
你的问题可以分为两个不同的元素:>如何将MQ与支持WCF的传输集成
>如何在这个传输中公开一个WCF端点
为了解决第一个问题,您应该看看主机集成服务器附带的版本为09(不是R2)的MQ-MSMQ bridge版本,它允许您将发送到MQSeries队列的消息转发到Windows中的本地MSMQ.虽然这个功能是deprecated,但如果您有MSDN许可证,这可能是最简单的方法.
解决此问题的另一种方法是使用MQSeries适配器附带的BizTalk服务器,但除非您正在企业中使用BizTalk,否则我将会避免使用.
最后一个方法是直接针对MQSeries .NET客户端库或通过XMS客户端进行编程.
如果您设法解决第一个问题,那么解决第二个问题就足够简单了.您可以通过使用netMsmqBinding(对于两端的WCF)或者使用System.Messaging或本机msmq COM库的客户端的msmqIntegrationBinding,通过msmq传输公开单向WCF服务操作.
此功能用作侦听器服务,消息由服务操作处理.