WCF/WebService充当MQ消息的侦听器?

Blu*_*ppy 13 wcf listener asp.net-web-api ibm-mq

也许我正在咆哮错误的树 - 但我有一组使用WebSphere MQ与其他系统交互的服务(WebAPI和WCF).

这没有问题 - 直到我现在需要listening在其中一个队列上找到消息的方法.

这甚至是可能的,还是我需要沿着Windows服务路线走?

tom*_*ern 1

您的问题可以分为两个不同的要素:

  1. 如何将 MQ 与 WCF 支持的传输集成
  2. 如何通过此传输公开 WCF 端点

为了解决第一个问题,您应该查看MQ-MSMQ 桥接器,该桥接器随主机集成服务器版本 2009(不是 R2)一起提供,它允许您将传递到 MQSeries 队列的消息转发到 Windows 中的本地 MSMQ。尽管此功能已被弃用,但如果您拥有 MSDN 许可证,这可能是最简单的方法。

解决此问题的另一种方法是使用附带 MQSeries 适配器的 BizTalk 服务器,但除非您当前在企业中使用 BizTalk,否则我会避免使用。

最后一种方法是直接针对 MQSeries .NET 客户端库或通过XMS客户端进行编程。

如果你设法解决第一个问题,那么解决第二个问题就很容易了。您可以使用 netMsmqBinding(对于两端的 WCF)公开通过 msmq 传输的一种方式 WCF 服务操作,或者使用 System.Messaging 或本机 msmq COM 库的客户端使用 msmqIntegrationBinding。

这实际上充当侦听器服务,消息由服务操作处理。