Sto cercando di integrare async
/await
nel nostro bus di servizio. Ho implementato un SingleThreadSynchronizationContext
in base a questo esempio http://blogs.msdn.com/b/pfxteam/archive/2012/01/20/10259049.aspx.Ottieni TransactionScope per lavorare con async/attendi
E funziona bene, tranne che per una cosa: TransactionScope
. Attendo materiale all'interno dello TransactionScope
e interrompo lo TransactionScope
.
TransactionScope
non sembra di bel gioco con il async
/await
, certamente perché memorizzare le cose nel thread utilizzando ThreadStaticAttribute
. Ricevo questa eccezione:
"TransactionScope annidato in modo errato.".
ho cercato di salvare i dati prima di fare la coda TransactionScope
il compito e ripristinarlo prima di eseguirlo, ma non sembra cambiare nulla. E il codice TransactionScope
è un disastro, quindi è davvero difficile capire cosa sta succedendo lì.
C'è un modo per farlo funzionare? C'è qualche alternativa allo TransactionScope
?
Ecco un codice molto semplice per riprodurre un errore di TransactionScope http://pastebin.com/Eh1dxG4a tranne che l'eccezione è qui transazione interrotta – Yann
Potete nit basta utilizzare una transazione SQL regolare? O stai estendendo più risorse? –
Sto attraversando più risorse – Yann