Я не могу понять, как я могу опубликовать транзакцию сообщений с использованием MassTransit 3.1.2 и RabbitMQ 3.6.0. У меня есть базовый сценарий, в котором я что-то сохраняю в базе данных, а затем хочу опубликовать событие. Обертывание System.Transactions.TransactionScope вокруг него не работает, прежде чем я завершить сферу сообщение уже отправлено:Публикация транзакций MassTransit
using (var scope = new TransactionScope(TransactionScopeOption.Required))
{
// Save to database here.
bus.Publish(new EntityCreatedEvent());
// Event is already published at this point.
scope.Complete();
}
Шина создается следующим образом:
var rabbitMqHostAddress = new Uri($"rabbitmq://{ConfigurationManager.AppSettings["RabbitMqHost"]}/");
var bus = Bus.Factory.CreateUsingRabbitMq(r =>
{
r.Host(rabbitMqHostAddress, h =>
{
h.Username(ConfigurationManager.AppSettings["RabbitMqUsername"]);
h.Password(ConfigurationManager.AppSettings["RabbitMqPassword"]);
});
});
Вы решили это каким-либо образом? –
К сожалению, нет. – TheGuest