MassTransit是否支持通过HTTP传输的MSMQ? [英] Does MassTransit support MSMQ over HTTP transport?

查看:69
本文介绍了MassTransit是否支持通过HTTP传输的MSMQ?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从MSMQ 3.0开始,HTTP传输已经可用,但是,恐怕MassTransit不提供使用HTTP协议作为队列之间的传输协议的功能.

HTTP transfer has been available since MSMQ 3.0, however I'm afraid MassTransit doesn't offer the feature to use HTTP protocol as transport protocol between queues.

关于此问题,此处,但尚未完全回答.

There's a very similar question about this here, which has not been completely answered.

有人知道客户端是否有可能订阅总线并通过HTTP发送/接收消息吗?这是我愿意实现的架构:

Does anyone know if it's possible for a client to subscribe to a bus and send/receive messages through HTTP? Here's the architecture I'm willing to implement:

我将在本地网络中拥有两台计算机

I'll have 2 computers in the local network

  • 计算机A 运行服务器应用程序和MassTransit.RuntimeServices
  • 计算机B 运行一个客户端应用程序,该应用程序将消息发送到A
  • Computer A runs a server application and MassTransit.RuntimeServices
  • Computer B runs a client application which sends messages to A

我希望通过http完成它们之间的通信.

I want the communication between them to be done via http.

我试图将 UseSubscriptionService 中的地址更改为 http 而不是 msmq ,但是它不起作用.如果将计算机的A MSMQ服务设置为强化模式",则在尝试预订 mt_subscriptions 时,在计算机B 上运行的客户端应用程序会超时./p>

I tried to change the address in UseSubscriptionService to http instead of msmq, but it doesn't work. If I set computer's A MSMQ service to Hardened Mode, the client application running on computer B get's a timeout while trying to subscribe to mt_subscriptions.

Bus.Initialize(sbc =>
            {
                sbc.UseMsmq();
                sbc.VerifyMsmqConfiguration();
                sbc.UseMulticastSubscriptionClient();
                sbc.ReceiveFrom("msmq://localhost/test_queue_client");
                sbc.UseSubscriptionService("msmq://m3-dev1/mt_subscriptions"); // maybe I could use http instead of msmq, but it doesn't work
            });

有任何线索吗?

推荐答案

否,MassTransit不支持MSMQ的HTTP.从理论上讲,您可以添加自己的传输来支持该传输.RabbitMQ在各个方面都比MSMQ更好,这是一种传输方式,除非您需要注册分布式事务.RabbitMQ只需要在盒子之间打开一个端口即可.

No, MassTransit does not support HTTP for MSMQ. You could, in theory, add your own transport that supports that. RabbitMQ is a way better transport than MSMQ in every way except if you need to enroll in distributed transactions. And RabbitMQ only requires a single port open between the boxes.

这篇关于MassTransit是否支持通过HTTP传输的MSMQ?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆