Ik heb MongoDB nooit gebruikt; weet er niets van. Ik antwoord alleen in termen van TransactionScope
; dus ik weet niet zeker of dit je zal helpen.
Raadpleeg de Magic Of TransactionScope . IMO, er zijn drie factoren waar je op moet letten:
-
Verbinding met de database moet in worden geopend de
TransactionScope
.Ik weet het niet zeker, maar het lijkt erop dat je handmatig kunt aanmelden de verbinding buiten het bereik geopend met behulp van
connection.EnlistTransaction(Transaction.Current)
.Kijkend naar je reactie en de bewerking, is dit geen probleem.
-
Alle bewerkingen moeten op dezelfde thread worden uitgevoerd.
en
Dus alle bewerkingen moeten op dezelfde thread worden uitgevoerd.
-
Speel met
TransactionScopeOption
(geef het door aan de constructor vanTransactionScope
) waarden volgens uw behoefte.Ik weet niet zeker wat je code verwachtte te doen. U kunt met deze opsommingswaarden spelen.
Zoals je in de opmerking vermeldde, gebruik je async/await
.
Kijk voor MongoDB of dit helpt je.