如果我做到以下幾點:TransactionScope不能使用Parallel Extensions?
Using scope = New TransactionScope()
entries.Content.ReadAs(Of IList(Of WebMaint)).AsParallel.ForAll(Sub(entry)
_repos.Update(entry)
End Sub)
scope.Complete()
End Using
的TransactionScope不起作用。如果我在scope.complete上放置斷點,則沒有事務處於活動狀態,並且更新已完成。
如果我將其更改爲:
Using scope = New TransactionScope()
entries.Content.ReadAs(Of IList(Of WebMaint)).ToList().ForEach(Sub(entry)
_repos.Update(entry)
End Sub)
scope.Complete()
End Using
一切都按預期工作。任何人都知道爲什麼並行版本無法正常工作?