Durante lo sviluppo di accesso alla base dati, può capitare che utilizzando TransactionScope generi l'errore "The operation is not valid for the state of the transaction." dovuto ad operazioni su altri task.
Una possibile soluzione può essere quella di impostare nel costruttore della classe TransactionScope, il tipo di lettura e la durata di timeout e livello.
Qui di seguito un frammento di codice per evitare tale eccezione.
TransactionOptions options = new TransactionOptions();
options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
options.Timeout = new TimeSpan(0, 15, 0);
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options))
{
//Codice
}
Le opere pubblicate in questo blog sono sotto la licenza Creative Commons. Attribuzione- No commerciale e no derivate.
Nessun commento:
Posta un commento