Gibt es eine Möglichkeit, mehrere TransactionScope
s gleichzeitig in einem einzelnen .NET-Thread zu öffnen und zwischen ihnen zu wechseln? Etwas entlang der Linien von:Mehrere Transaktionsbereiche in einem Thread?
var tx1 = new TransactionScope(...);
var tx2 = new TransactionScope(...);
tx1.Use();
// do some database operations on tx1
tx2.Use();
// do some database operations on tx2
tx2.Complete();
tx1.Use();
// do some more database operations on tx1
tx1.Complete();
ich einige Gleichzeitigkeit Situationen in meiner Datenbank testen möchten, und auf einem einzigen Thread die gleichzeitige Hersteller halten würde mir erlauben, sauberere Testcode zu schreiben:
producer1.DoA(); // must run in txA
producer2.DoB(); // must run in txB
...
Sie könnten ein Stück Code teilen und Ihre eigene Antwort als akzeptierte Antwort markieren, so dass 1) die Menschen wissen, wie Sie das Problem gelöst, wenn sie hier ankommen über die Suche, und 2) die Frage wird nicht ohne eine akzeptierte Antwort hängen, und so von denen von uns angesehen werden, die hier hereingehen, um Fragen zu beantworten. –
Sie können Ihre eigene Antwort nicht sofort akzeptieren - tun Sie es jetzt :-) Auch einige Beispielcode hinzugefügt. –