小编Abh*_*tee的帖子

TransactionScopeOption - 必需或RequiresNew

我目前对TransactionScope对象的构造函数感到困惑.

假设我的网站用户可以订购产品.在提交请求时,我会对剩余的当前数量进行验证,如果仍然大于零,我会执行请求.然后,在结束时,我减少当前剩余的数量.

整个过程使用.NET transactionScope进行事务处理.

在阅读了几篇关于.NET transactionScope对象的文章之后,我现在对TransactionScopeOption的值有点困惑,它用于transactionScope的构造函数.

以下哪一种更适合上述情况:

public void ProcessRequest()  
 {  
     TransactionOptions transactionOptions = new TransactionOptions();  
     transactionOptions.IsolationLevel = IsolationLevel.Serializable;  
     using (TransactionScope currentScope = new TransactionScope(TransactionScopeOption.RequiresNew, transactionOptions)) {  
      // DB Query to verify if quantity is still greater than zero  
      // DB Query to request and decrement quantity 
      currentScope.Complete();
     }  
 }  
Run Code Online (Sandbox Code Playgroud)

要么

public void ProcessRequest()  
 {  
     TransactionOptions transactionOptions = new TransactionOptions();  
     transactionOptions.IsolationLevel = IsolationLevel.Serializable;  
     using (TransactionScope currentScope = new TransactionScope(TransactionScopeOption.Required, transactionOptions)) {  
      // DB Query to verify if quantity is still …
Run Code Online (Sandbox Code Playgroud)

.net constructor transactions transactionscope

14
推荐指数
2
解决办法
9071
查看次数