gpt4 book ai didi

c# - TransactionScopeOptions.Suppress 超时

转载 作者:行者123 更新时间:2023-11-30 13:02:09 44 4
gpt4 key购买 nike

在我刚接手的一个应用中发现了这一行,感觉没什么意义。

使用 (new TransactionScope(TransactionScopeOption.Suppress, new TimeSpan(1,0,0))) {

这会立即发生在 nservicebus 消息处理程序方法中并覆盖整个处理程序。

它似乎试图抑制环境事务并在一小时后中止。超时到期时会发生什么?我认为这只是选项的组合,并不意味着任何合理的事情。但它会导致发生什么?

最佳答案

Suppress 表示不使用环境事务;并且实际上,范围内的操作不在事务中执行。这允许您在当前事务之外执行操作而不受该事务的影响。例如:

using(var trans = new TransactionScope())
{
// do operations within transaction
using(var unscoped = new TransactionScope(TransactionScopeOption.Suppress))
{
// do "immediate" operations
}
// do operations within transaction
// NOTE: No trans.Complete() called
}

// operations performed within "scoped" are not rolled back.

我不太确定超时对于 Suppress 是否真的有意义

关于c# - TransactionScopeOptions.Suppress 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16022149/

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