首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TransactionScopeOptions.Suppress超时

TransactionScopeOptions.Suppress超时
EN

Stack Overflow用户
提问于 2013-04-16 02:23:01
回答 1查看 934关注 0票数 4

在我刚接管的一个应用程序中发现了这一行,这没有多大意义。

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

这直接发生在nservicebus消息处理程序方法中,并覆盖整个处理程序。

它似乎正在尝试抑制环境事务,并在一小时后中止。当超时到期时会发生什么?我假设这只是选项的组合,并不意味着任何合理的东西。但是它的结果是什么呢?

EN

回答 1

Stack Overflow用户

发布于 2013-04-16 02:35:44

Suppress意味着不使用环境事务;实际上,作用域中的操作不会在事务中执行。这允许您在当前事务之外执行操作,而不受该事务的影响。例如:

代码语言:javascript
复制
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是否真的有意义

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16022149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档