Tôi có ứng dụng C# đa luồng trong đó mỗi luồng có tập hợp các kết nối db riêng. Mỗi luồng sử dụng TransactionScope/DTC. Đôi khi, tôi nhận được một "Giao dịch đã hủy bỏ" ngoại lệ. Nó không phải từ một thời gian chờ vì nó xảy ra trong vòng chưa đầy 2 giây kể từ khi bắt đầu giao dịch.Giao dịch đã hủy bỏ
Đây là stacktrace:
tại System.Transactions.TransactionStateAborted.BeginCommit (InternalTransaction tx, Boolean asyncCommit, AsyncCallback AsyncCallback, Object asyncState) tại System.Transactions.CommittableTransaction.Commit() tại System.Transactions.TransactionScope.InternalDispose() tại System.Transactions.TransactionScope.Dispose() tại MyNamespace.CallingMethod()
Điều này xảy ra rất thường xuyên, giả sử một lần trong 100.000 giao dịch.
Môi trường: Windows Server 2003 Net 2.0 Kết nối với SQLServer 2005
Bất kỳ ý tưởng về tại sao điều này xảy ra? Cảm ơn!
hiện SQL, DTC, hoặc hệ điều hành bản ghi lỗi có bất kỳ chi tiết bổ sung? – StingyJack
bất kỳ mục nhập nào trong Nhật ký Sự kiện với dấu thời gian đó? –
Hộp sản xuất, vì vậy thật khó để có được bất kỳ thông tin nào ở đó mà không có băng đỏ. Tôi sẽ xem nếu tôi có thể nhận được bất cứ điều gì từ Event Log, đó là dễ dàng hơn. Cảm ơn! – Dan