Răsturnarea tranzacțiilor

În procesul de lucru al tranzacției va fi finalizată în mod automat în momentul finalizării TransactionScope sau TransactedReceiveScope În cazul în care tranzacția exterioară excepție netratată se propagă prin limita regiunii, a făcut o revenire explicită tranzaktsii.Odnako poate apărea dacă o revenire explicită are sens să efectueze fără a provoca isklyuchenie.V acest caz, puteţi utiliza acțiunea de derulare înapoi personalizate (ca în acest exemplu) pentru a abandona în mod explicit tranzacția externă și să emită un motiv suplimentar pentru excepție.







Acțiunea RollbackActivity este o acțiune NativeActivity. deoarece necesită acces la proprietățile de excludere pentru RuntimeTransactionHandle descriptor extern metoda .żn Executare descriptor de acțiune RuntimeTransactionHandle primește și verifică valoarea sa. Valoare nulă indică faptul că efectul a fost utilizat fără timp extern vypolneniya.Zatem tranzacție este primit tranzacție cu aceeași valoare de test nulă Descriptorul .Vneshny RuntimeTransactionHandle poate fi obținut, în general, fără a începe tranzacția vypolneniya.Zatem momentul în care o tranzacție este întreruptă printr-o metodă de apel Retroactivitatea și instrucțiuni de utilizare sau , sau o excepție universală care stabilește că această acțiune a reluat tranzacția.







Un flux de lucru demo constă din clasa TransactionScope. care organismul afișează starea de tranzacție consolă înainte și după RollbackActivity .Rețineți că TransactionScope se va desfășura până la finalizarea, chiar dacă derularea înainte a fost făcută, fluxul de lucru nu este întreruptă înainte de finalizare a corpului zaprosa.Rabochy se întrerupe în Dacă valoarea proprietății AbortInstanceOnTransactionFailure este setată la adevărat în mod implicit.

Utilizarea acestei mostre

Pentru a construi o soluție, apăsați CTRL + SHIFT + B.

Pentru a porni aplicația, apăsați CTRL + F5.







Articole similare

Trimiteți-le prietenilor: