2014-12-04 66 views
0

我想通过MSMQ从我的Web应用程序通信到不同层上的端点。我已经找到了如何通过绑定到WCF来完成这个任务的例子,但没有找到如何与WebAPI绑定的例子。为什么我需要使用WCF来使用MSMQ?

为什么我必须使用WCF?

他们有其他的选择吗?

+0

你不知道。您在System.Messaging命名空间中使用MSMQ客户端库。为什么要使用WebAPI或WCF? – Amy 2014-12-04 04:50:26

+0

@Amy WCF允许围绕特定协议进行一定程度的封装,从而允许OP在无需更改代码的情况下无缝切换到其他单向通信协议。 IBM Websphere MQ(MQ系列)。 – StuartLC 2014-12-04 04:55:51

+0

是什么让你觉得你需要? – 2014-12-04 05:35:01

回答

3

除了WCF's netmsmqBinding,你也可以明显地使用更多的本土System.Messaging.MessageQueue .NET类阅读并直接从队列写。不过,这听起来像是你想从客户端(如浏览器)获取消息?

虽然你可以send messages to MSMQ via Http,你不能receive messages over Http directly

因此TL; DR我相信您需要编写自己的通过HTTP/REST等接收消息的功能,例如,通过一个WebApi控制器动作读取一个消息并返回相同的消息。在这样做时,您可能会失去队列消息之间的任何事务边界。

+0

这清除了我。谢谢。 – 2014-12-09 05:17:24