退出我的实体框架ObjectContext之一的分布式事务

本文关键字:分布式 事务 ObjectContext 我的 实体 框架 退出 | 更新日期: 2023-09-27 18:27:50

我正在将NServiceBus与分布式事务一起使用。通常情况下,这非常有效。我的消息要么成功,要么失败。要么全有要么全无。

然而,我也在尝试将诊断数据记录到我的数据库中。这是在单独的ObjectContext上完成的。为此,无论分布式事务的成功与否,我都希望它保存到数据库中。

有没有一种方法可以让一个(也是唯一一个)数据上下文连接到分布式事务之外的数据库?(并将其余部分保留在?)

退出我的实体框架ObjectContext之一的分布式事务

尝试此方法来抑制环境分布式事务以进行审计:

using (new TransactionScope(TransactionScopeOption.Suppress))
{
    // Create logging context and audit your data
}

一个选项(如果使用3.0)是创建UoW:

http://andreasohlund.net/2011/11/21/unit-of-work-in-nservicebus-3-0/

在那里抑制事务并进行日志记录。

NSB有一种内置的审计方法。我建议打开它,并在另一个端点中处理日志记录/审计跟踪。