11得票1回答
MSDTC仅在一个方向上工作

我试图在单元测试中使用TransactionScope,但在我们的构建服务器上始终出现错误。在遵循几个有用的SO答案和博客之后,我安装了DTCPing并在server1和server2上运行它。当我以相反的顺序运行它时,它似乎可以在一个方向上连接,但在另一个方向上失败:++++++++++++...

11得票2回答
使用TransactionScope实现嵌套事务

如果你有像这样的东西:IBinaryAssetStructureRepository rep = new BinaryAssetStructureRepository(); var userDto = new UserDto { id = 3345 }; var dto = new Binar...

11得票4回答
为什么TransactionScope不假定操作成功?

TransactionScope期望调用其Complete方法。否则该事务将不会提交。using(TransactionScope scope = new TransactionScope()) { /* Perform transactional work here */ ...

11得票1回答
使用Linq To SQL进行多次SubmitChanges和事务回滚

我正在使用TransactionScope在Linq to SQL中提交数据。我的问题是,如果我在同一个scope中使用多个SubmitChanges,在出现错误的情况下,是所有的scope都会回滚,还是只有最后一个SubmitChanges之后所做的更改会回滚?例如:using (Trans...

11得票3回答
为什么我突然遇到这个错误?

所以我有一个WCF服务,在其中有一个Process()方法。该方法从一个表中读取一个字节数组(文件),并将该文件的数据放入多个表中。它只是遍历每一行。在生产环境中,自一个月以来它一直工作得很好。现在突然间,它会偶然抛出以下错误: 可能有帮助的信息: 大约两周前,我们更换了生产Web和DB服...

10得票2回答
检查现有的TransactionScope是否已激活

我正在使用:public class TransactionUtils { public static TransactionScope CreateTransactionScope() { var TransactionOptions = new Transa...

10得票1回答
使用TransactionScope时,防止事务升级到分布式的推荐做法

使用TransactionScope对象设置不需要在函数调用间传递的隐式事务非常好!但是,如果已经打开了一个连接而又打开了另一个连接,则事务协调器会悄无声息地将事务升级为分布式事务(需要运行MSDTC服务,并且需要更多的资源和时间)。 因此,这很好: using (var ts...

10得票1回答
为什么在处理后需要进行交易处理?

我正在尝试使用一些环境事务范围(感谢Entity Framework),这是我以前没有做过的,我看到了一些奇怪的行为,我正在努力理解。 我正在尝试加入当前事务范围并在其成功完成后进行一些操作。我的加入参与者由于持有某些资源而实现IDisposable。我有一个简单的示例展示了奇怪的行为。 对于...

10得票2回答
SqlConnection和避免升级到MSDTC

当我们需要在应用程序中进行数据库访问时,我们使用以下模式: 对于查询,我们有一个静态工厂类,其中包含一个名为CreateOpenConnection的方法,仅执行new SqlConnection(myConnectionString)和调用Open()。在进行查询之前调用此方法,并在查询...

10得票2回答
事务范围(TransactionScope)需要开启DTC服务吗?

据我所读,在.NET中使用TransactionScope,需要Windows的分布式事务协调器服务处于运行状态。我已经关闭了该服务,但我的应用程序似乎仍在运行,并且可以轻松回滚事务。 我是否遗漏了什么?它是如何正常工作的?我正在Windows 7上运行,并从Visual Studio 20...