Lorsque Commit est appelé (pour l'implémentation de IEnlistmentNotification), puis-je simplement lancer une exception pour indiquer que je veux annuler la transaction?Commutation en deux phases avec l'interface IEnlistmentNotification
1
A
Répondre
0
Vous devriez plutôt appeler Transaction.Rollback(Exception ex):
public void Commit(Enlistment enlistment)
{
Transaction currentTx = Transaction.Current;
if (currentTx != null)
{
currentTx.RollBack(new Exception("I give up!");
}
}
+0
Basé sur mon code de test, il semble que Transaction.Current est toujours null lorsque la méthode Commit() est appelée. Des idées? – matori82
Questions connexes
- 1. TransactionScope - IEnlistmentNotification
- 2. en deux phases entre les différentes technologies (COM +, Java)
- 3. Authentification Ajax 2 phases
- 4. Affiche avec les 8 phases de traduction en langage C
- 5. Comment implémenter la validation en deux phases dans un service .Net REST WCF?
- 6. commutation entre un et deux affichages dans Visual Studio
- 7. Commutation entre deux UITableViewControllers dans un seul UINavigationController
- 8. Commutation de classe entre deux éléments à l'aide de jQuery
- 9. Appcelerator fenêtres de commutation
- 10. commutation Test :: unité avec rspec sous rails
- 11. commutation entre les divs avec jquery
- 12. Commutation de la vue principale avec PRISM
- 13. Traitement en deux phases: Ne pas sortir les balises vides du traitement XSLT 2.0 de phase 1
- 14. Adaptateurs de commutation dans GridView?
- 15. jQuery appendTo (commutation d'avant en arrière)
- 16. énumérations, l'utilisation en cas de commutation
- 17. commutation par programme "triple-moniteurs"
- 18. Commutation entre ModalViews
- 19. Développement iPhone - Commutation Vues
- 20. Dynamique DataTemplate commutation
- 21. Commutation de threads ASP.NET
- 22. Commutation de session ASP.NET
- 23. Jquery Commutation d'instances de navigateur
- 24. contrôleur de rails de commutation
- 25. Android - Commutation d'activités
- 26. Commutation Plateaux de l'imprimante
- 27. commutation entre les écrans
- 28. Comment supprimer rapidement certaines phases d'un fichier html
- 29. C# Tab commutation dans TabControl
- 30. iPhone vue commutation - boucle transition
Après 'commit' est appelé, il est trop tard pour rollbacks. –
En fait, non - jusqu'à ce que Enlistment.Done() soit appelé dans l'instance d'implémentation, il est toujours possible de revenir en arrière! –
Était ma réponse pas ce que vous cherchiez? –