2009-09-14 30 views
7

Xin chào, tôi đã tự hỏi liệu có cho phép truy tìm/chẩn đoán trên SQLConnection thông qua tệp app.config giống như bạn có thể với WCF khi bạn cần truy tìm hỗ trợ (như dưới đây) không?Truy tìm và chẩn đoán cho System.Data.SQLConnection

<system.diagnostics> 
    <switches> 
     <add name="DataMessagesSwitch" value="0" /> 
     <add name="TraceLevelSwitch" value="0" /> 
    </switches> 
</system.diagnostics> 

Tôi đang cố gắng để đánh chặn và đăng nhập yêu cầu SQL từ bên trong ứng dụng của tôi (mà không cần phải tạo ra một shim IDbConnection hơn một SqlConnection để nắm bắt những yêu cầu như họ đang thực hiện)

Bất kỳ suy nghĩ?

+1

Số lượng công việc hoàn toàn điên rồ để truy tìm: (Nhóm ADO.NET phải quên về 'System.Diagnostics'. –

+0

Tôi muốn hỏi cùng một câu hỏi. Bạn đã tìm thấy câu trả lời cho điều này? –

Trả lời

2
+1

Xin chào, tôi kiểm tra bài viết đó, nó đòi hỏi khá nhiều dicking xung quanh, làm mục đăng ký vv, bằng cách sử dụng WMI, thiết lập các bộ lọc để đảm bảo bạn chỉ theo dõi ứng dụng duy nhất của bạn Tôi đã hy vọng có một cái gì đó giống như tùy chọn WCF đã đề cập trước đó. trong các tập tin cấu hình, không vui! – mrwayne

1

Cách tiếp cận tiêu chuẩn Microsoft gợi ý thực sự phức tạp và được thiết kế kém. Đây là giải pháp thay thế: Data Access Tracing in .NET (Universal approach). Ý tưởng được gói gọn (proxy) tất cả các dịch vụ truy nhập Db (DbConnection, DbCommand, ...) bởi một người đánh dấu. Điều này làm việc với bất kỳ nhà cung cấp DbConnection nào và với Entity Framework.

+0

"thực sự phức tạp" là đặt nó nhẹ nhàng. Không có cách nào tôi sẽ cố gắng để đưa rằng trong sản xuất để có được dưới cùng của một vấn đề bức xúc. Có vẻ như bạn (tuyệt vời và chung) giải pháp chỉ có dấu vết ở cấp 'DbConnection' /' DbCommand', vì vậy hãy tiến gần hơn đến các kết nối mạng thực tế (được gộp chung và khác với các trường hợp 'DbConnection') là tôi đoán ra ngoài phạm vi? –

+0

Bạn không chắc chắn những gì bạn có ý nghĩa của các kết nối mạng thực tế? truy tìm giao tiếp mạng với máy chủ Db? Đối với điều đó tôi tin rằng bạn có thể sử dụng truy tìm mạng chuẩn: https://msdn.microsoft.com/en-us/library/ty48b824(v=vs.110).aspx –

+0

Có, các kết nối mạng, để theo dõi ngắt kết nối. Tôi chỉ thử truy tìm mạng, vô ích. Thật không may là không có gì SqlConnection không được đăng nhập, nhưng kiểm tra lại bằng cách sử dụng trực tiếp ổ cắm cho thấy rằng truy tìm được thiết lập một cách chính xác. –

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