Передача HTTP доступна с MSMQ 3.0, однако я боюсь, что MassTransit не предлагает функцию использования протокола HTTP в качестве транспортного протокола между очередями.
Есть очень похожий вопрос об этом здесь, который полностью не ответил.
Кто-нибудь знает, возможно ли для клиента подписаться на шину и отправлять/получать сообщения через HTTP? Вот архитектура, которую я хочу реализовать:
У меня будет 2 компьютера в локальной сети
- Компьютер A запускает серверное приложение и MassTransit.RuntimeServices.
- Компьютер B запускает клиентское приложение, которое отправляет сообщения на A
Я хочу, чтобы связь между ними осуществлялась через http.
Я пытался изменить адрес в UseSubscriptionService
на http
вместо msmq
, но это не работает. Если установить для службы MSMQ компьютера A усиленный режим, клиентское приложение, работающее на компьютере B, получит тайм-аут при попытке подписаться на 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
});
Любые подсказки по этому поводу??