gpt4 book ai didi

c# - MassTransit 事务性发布

转载 作者:行者123 更新时间:2023-11-30 18:21:30 25 4
gpt4 key购买 nike

我不知道如何使用 MassTransit 3.1.2 和 RabbitMQ 3.6.0 发布事务性消息。我有一个基本场景,我将一些东西保存到数据库,然后我想发布一个事件。在它周围包装一个 System.Transactions.TransactionScope 不起作用,在我完成范围之前消息已经发送:

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"]);
});
});

最佳答案

RabbitMQ 不注册事务。这不可能。

关于c# - MassTransit 事务性发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35327503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com