TransactionScope
TransactionScope est une classe dans System.Transactions, qui est une classe qui vient avec le framework .NET. Si le TransactionScope est publié sans appeler la méthode Complete (TransactionScope implémente l’interface IDisposible, l’utilisation de blocs est recommandée), alors il considérera l’opération comme défaillante et annulera l’exécution. TransactionScope est une API utile qui gère les transactions autour de (« autour » signifie que les bases de données supportant TransactionScope peuvent gérer automatiquement les transactions), et la plupart des bases de données grand public prennent en charge cette API, y compris MSSQL de Microsoft, bien sûr. Si vous utilisez une base de données ou un système lié aux transactions qui ne prend pas en charge TransactionScope, vous pouvez toujours utiliser l’intercepteur, mais vous devrez modifier votre code pour utiliser une API adaptée qui prend en charge les transactions (par exemple, en utilisant l’API BeginTransaction pour obtenir l’implémentation IDbTransactions par le fournisseur de base de données).
Ce qui précède est une exception personnalisée que j’ai délibérément ajoutée pour voir si elle pouvait être annulée normalement, et l’image ci-dessous montre une exécution normale, sans exceptions.
Appeler la méthode Complete de TransactionScope indique que la transaction a été exécutée avec succès. Bien sûr, si la transaction est toujours exécutée, alors elle n’est pas nécessaire. La raison pour laquelle il y a des transactions est de résoudre le problème de défaillance lors de plusieurs opérations, et en cas de défaillance, elle sera annulée. Parce que le . .NET : TransactionScope n’a pas d’appel de retour explicite, et l’équivalent le plus proche est d’utiliser la méthode Disposer. Si le TransactionScope est publié avant que la méthode Complete ne soit appelée, alors le TransactionScope effectue un rollback. Par conséquent, un appel Dispose doit être ajouté à la face intercepteur de la transaction pour effectuer le rollback.
Enfin, joignez le code !
En pièce jointe, le code source :Touristes, si vous voulez voir le contenu caché de ce post, s’il vous plaît Répondre
|