Nous savons que la classe TransactionScope peut utiliser une valeur de délai d'attente définie par l'utilisateur. Mais une exception de délai d'expiration est levée en quittant le bloc using {}. Comment lancer cette timeoutexception immédiatement après la valeur du délai écoulé?TransactionScope et Timeout Problème
1
A
Répondre
2
Ceci n'est pas possible. Le TransactionScope stocke simplement l'heure à laquelle vous avez commencé la transaction, puis vérifie cette heure lors de la validation de la transaction.
Il n'a aucun moyen de lancer une exception à tout point arbitraire.
En général, la seule exception qui peut être levée à tout point en cours d'exécution (du code managé) est ThreadAbortException
. Par conséquent, si vous le souhaitez vraiment, vous pouvez créer un thread séparé qui dort pendant la durée du délai, puis annule votre thread d'origine.
Cependant, c'est une idée horrible.
Questions connexes
- 1. TransactionScope timeout bizarre avec TransactionScopeOption.RequiresNew
- 2. TransactionScope et niveau d'isolement
- 3. TransactionScope et erreur: ORA-02049
- 4. Problème JQuery avec timeout
- 5. TransactionScope et Transactions
- 6. NHibernate, transactions et TransactionScope
- 7. TransactionScope et procédure stockée?
- 8. TransactionScope, linq et étrange gestionnaire de transactions problème (HRESULT: 0x8004D024)
- 9. Transactionscope
- 10. NHibernate TransactionScope problème avec Oracle 11g
- 11. msxml XMLHTTPRequest et timeout
- 12. Quelle est la différence entre Thread.Sleep (timeout) et ManualResetEvent.Wait (timeout)?
- 13. Problème de timeout de session CakePHP
- 14. TransactionScope - IEnlistmentNotification
- 15. SubSonic2.2 SharedDbConnectionScope et Confusion TransactionScope Transaction
- 16. SQL Timeout et les indices
- 17. Problème TransactionScope avec les files d'attente de messages
- 18. instanciation TransactionScope retourne null
- 19. HTTPS et HTTParty - Timeout et EOF
- 20. Nested/Child TransactionScope Rollback
- 21. Castle ActiveRecord: TransactionScope
- 22. Importance de l'utilisation TransactionScope
- 23. asihttprequest timeout
- 24. .NET TransactionScope sur Oracle
- 25. Classe .NET TransactionScope et T-SQL TRAN COMMIT et ROLLBACK
- 26. Sockets TCP anormalement déconnectés et timeout d'écriture
- 27. Activator.CreateInstance timeout
- 28. asp.net mvc transactionscope class
- 29. Transactions imbriquées avec TransactionScope
- 30. C# TransactionScope - L2E
Pourquoi votre solution est-elle horrible? ça a l'air tellement bien. J'ai mis en place et ça marche très bien. Merci beaucoup. – mkus
Les interruptions de threads peuvent interrompre le code n'importe où et gâcher l'état partagé. – SLaks
http://www.interact-sw.co.uk/iangblog/2004/11/12/cancellation – SLaks