Jeg har aldrig brugt MongoDB; ved ikke noget om det. Jeg svarer kun i forhold til TransactionScope
; så ikke sikker på, om dette vil hjælpe dig.
Se venligst Magic Of TransactionScope . IMO, der er tre faktorer, du skal kigge efter:
-
Forbindelse til databasen skal åbnes inde
TransactionScope
.Ikke sikker, men det ser ud til, at du kan manuelt tilmelde dig forbindelsen åbnede uden for omfanget ved hjælp af
connection.EnlistTransaction(Transaction.Current)
.Når du ser på din kommentar og redigeringen, er dette ikke et problem.
-
Alle handlinger skal køre på samme tråd.
og
Så alle operationer skal køre på samme tråd.
-
Spil med
TransactionScopeOption
(giv det til konstruktøren af TransactionScope
) værdier efter dit behov.Jeg er ikke sikker på, hvad din kode forventede at gøre. Du kan lege med disse enum-værdier.
Som du nævnte i kommentaren, bruger du async/await
.
For MongoDB, se om dette hjælper dig.