7
TransactionScope ส่งต่อไปยัง MSDTC ในเครื่องบางเครื่องโดยอัตโนมัติหรือไม่
ในโครงการของเราที่เรากำลังใช้ TransactionScope เพื่อให้แน่ใจว่าการเข้าถึงข้อมูลประสิทธิภาพชั้นของเราก็ดำเนินการในการทำธุรกรรม เรากำลังเล็งที่จะไม่จำเป็นต้องใช้บริการ MSDTC ที่จะเปิดใช้งานบนเครื่องของเรา end-user ปัญหาคือในครึ่งหนึ่งของเครื่องนักพัฒนาของเราเราสามารถเรียกใช้โดยปิดการใช้งาน MSDTC อีกครึ่งหนึ่งต้องเปิดใช้งานหรือพวกเขาได้รับข้อความข้อผิดพลาด"MSDTC บน [เซิร์ฟเวอร์] ไม่พร้อมใช้งาน" จริงๆมันมีฉันเกาหัวของฉันและฉันมีการพิจารณาอย่างจริงจังกลับไปกลิ้งบ้านปั่น TransactionScope เหมือนการแก้ปัญหาบนพื้นฐานของการทำธุรกรรมวัตถุ ADO.NET มันดูเหมือนว่าบ้า - รหัสเดียวกันที่ใช้งานได้ (และไม่เพิ่มขึ้น) ในครึ่งหนึ่งของผู้พัฒนาของเราไม่บานปลายบนผู้พัฒนารายอื่น ฉันหวังว่าจะได้คำตอบที่ดีกว่าในการติดตามว่าเหตุใดธุรกรรมจึงถูกส่งต่อไปยัง DTCแต่น่าเสียดายที่ไม่มี นี่เป็นบิตตัวอย่างของรหัสที่จะก่อให้เกิดปัญหาบนเครื่องที่พยายามที่จะบานปลายก็พยายามที่จะบานปลายที่สอง connection.Open () (และใช่จะไม่มีการเปิดการเชื่อมต่ออื่น ๆ ในเวลา.) using (TransactionScope transactionScope = new TransactionScope() { using (SqlConnection connection = new SqlConnection(_ConStr)) { using (SqlCommand command = connection.CreateCommand()) { …