为什么使用TransactionScope的默认构造函数有害?

时间:2011-08-26 00:03:07

标签: c#

为什么使用TranscationScope的默认构造函数会有害?

有人可以指我解释一下吗?

1 个答案:

答案 0 :(得分:4)

请在MSDN博客using new TransactionScope() Constructor上阅读此文章。

摘录:

  

为了SQL的目的,TransactionScope的默认构造函数是   Sever数据库编程,坏了。 TransactionScope的默认值   构造函数将隔离级别默认为Serializable和   超时至1分钟。 IMO这两种设置在工作时都是有害的   针对SQL Server。

     

事务超时很糟糕,因为它太模糊了。一个SqlCommand   已经有一个CommandTimeout属性,默认为30秒。如果   你在SqlCommand上显式扩展了CommandTimeout   可能意外的是你的交易会在此之前超时。   但至少可以在应用程序中更改超时默认值   配置文件。