2012-01-31 45 views
8

Tôi đã kích hoạt System.Transactions logging:cảnh báo System.Transactions nguồn khi sử dụng LINQ-2-Sql

<system.diagnostics> 
    <sources> 
     <source name="System.Transactions" switchValue="Warning"> 
      -- my listeners here 
     </source> 
    </sources> 
</system.diagnostics> 

và thấy rất nhiều cảnh báo log lạ như:

  • Transaction.Rollback gọi
  • Nhập ngũ Callback Negative
  • TransactionScope Incomplete

Xin vui lòng ai đó làm sáng tỏ nó? Hệ thống của tôi hoạt động như mong đợi và không có ngoại lệ mức ADO.NET nào được nâng lên. Mã DAL là mã L2S điển hình mà không cần quản lý giao dịch rõ ràng hoặc bất kỳ hack nào.

+2

Bạn có thể sử dụng SQL Profiler để xem SQL nào được gửi đến máy chủ để bạn sẽ được thông báo thêm về những gì đang diễn ra. Nếu không có thêm thông tin thì rất khó để chúng tôi đưa ra câu trả lời. –

+0

Tôi theo dõi đầu ra của hồ sơ và không thấy tội phạm. Tôi nghĩ rằng các câu lệnh SQL được tạo ra không có gì liên quan đến vấn đề này bởi vì ngay cả khi máy chủ SQL đã gây ra một số cảnh báo mà chúng không thể truyền lại cho mã được quản lý, có thể không? – UserControl

+0

Nó phụ thuộc (như mọi khi) là những cảnh báo này được kích hoạt bởi cơ sở dữ liệu hoặc bằng mã .NET/L2S? Nếu chúng được gây ra bởi cơ sở dữ liệu, bạn nên kiểm tra các lô/thủ tục được thực hiện ở đó. (Tôi nghĩ rằng chúng phải được truyền cho khách hàng) –

Trả lời

1

Sử dụng nút chuyểnGiá cảnh báo sẽ lấy nhiều lỗi hơn. Từ msdn:

Điều kiện tồn tại sau đó có thể dẫn đến lỗi hoặc lỗi nghiêm trọng (ví dụ: phân bổ không thành công hoặc tiếp cận giới hạn). Xử lý lỗi bình thường từ mã người dùng (ví dụ: giao dịch bị hủy bỏ, hết giờ, xác thực không thành công) cũng có thể tạo ra cảnh báo.

Có thể đây là những gì bạn muốn. Nếu vậy, mát mẻ. Nếu không, bạn có thể muốn thay đổi nó thành Lỗi.

Các vấn đề liên quan