TransactionScope : Pourquoi l'escalade MSDTC se produit sur certaines machines
TransactionScope améliore les performances des transactions dans les couches d'accès aux données. Cependant, un problème courant est que l’escalade MSDTC se produit de manière incohérente sur les machines des développeurs. Cet article explore les raisons et les solutions.
Causes de l'escalade du MSDTC
L'escalade MSDTC se produit lorsque :
Dépannage et solutions
L'enquête a révélé une différence clé : les développeurs sans escalade utilisaient SQL Server 2008, tandis que ceux qui en faisaient l'expérience utilisaient SQL Server 2005.
SQL Server 2005 contre SQL Server 2008
SQL Server 2008 :
SQL Server 2005 :
Pour SQL Server 2005, le maintien d'une seule connexion ouverte de portée mondiale tout au long de TransactionScope évite toute escalade. Cependant, cela contredit les meilleures pratiques d'ouverture de connexion retardée et de fermeture rapide.
Autres points à considérer :
SqlTableAdapter
et la pré-ouverture de sa connexion peuvent mettre fin prématurément à la transaction, entraînant une escalade.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!