Vì nhiều lý do phổ biến, tôi muốn sử dụng truy tìm ứng dụng ASP.NET của mình. Đặc biệt là kể từ khi tôi phát hiện ra về khả năng sử dụng các công cụ Service Trace Viewer cho phép bạn kiểm tra dấu vết của bạn một cách mạnh mẽ.ASP.NET và System.Diagnostics truy tìm - tôi đã bỏ lỡ một cái gì đó, hoặc là một ý tưởng tồi?
Vì trước đây tôi chưa bao giờ sử dụng dấu vết này, nên tôi bắt đầu bỏ nó. Sau một thời gian của Google, SO và MSDN cuối cùng tôi đã có một ý tưởng tốt về cách mọi thứ hoạt động. Nhưng tôi cũng tìm thấy một điều rất khó tin.
Khi sử dụng dấu vết trong các ứng dụng ASP.NET, việc tạo nhóm thông điệp theo dõi với nhau bằng các yêu cầu web sẽ rất có ý nghĩa. Đặc biệt là vì một trong những lý do tôi muốn sử dụng nó là để nghiên cứu các vấn đề về hiệu năng. Công cụ được đề cập ở trên cũng hỗ trợ điều này bằng cách sử dụng các thẻ <Corrleation>
trong các tệp XML được tạo. Mà lần lượt đến từ System.Diagnostics.Trace.CorrelationManager
. Nó cũng cho phép các tính năng đẹp khác như Hoạt động bắt đầu/dừng, cung cấp một nhóm tốt hơn các thông điệp dấu vết. Cool, phải không?
Tôi cũng vậy, cho đến khi tôi bắt đầu kiểm tra nơi thực tế đã thực sự sống ở nơi CorrelationManager
. Sau khi tất cả - đó là một tài sản tĩnh. Sau khi một số chơi xung quanh với Reflector tôi phát hiện ra một cái gì đó đáng sợ - nó được lưu trữ trong CallContext
! Đó là loại điều we shouldn't be using in ASP.NET, phải không?
Vậy ... tôi có thiếu gì đó ở đây không? Truy tìm có thực sự thiếu sót về cơ bản trong ASP.NET không?
Đã thêm: Emm, tôi sắp sửa tự viết lại nội dung này. Tôi vẫn muốn sử dụng công cụ gọn gàng để khám phá dấu vết. Bất kỳ lý do gì tôi không nên làm điều này? Có lẽ có cái gì tốt hơn chưa? Sẽ rất tuyệt nếu tôi có một số câu trả lời sớm. :)
Đã thêm 2: Một đồng nghiệp của tôi xác nhận rằng đây không chỉ là vấn đề lý thuyết. Anh ta đã quan sát điều này trong hệ thống anh ta đang làm việc. Vì vậy, nó được giải quyết. Tôi sẽ xây dựng một hệ thống nhỏ mới làm mọi thứ theo cách tôi muốn. :)
Đã thêm 3: Thật tuyệt, những người ở Microsoft không thể tìm thấy bất kỳ điều gì sai trái khi sử dụng Trình quản lý tương quan trong ASP.NET. Vì vậy, dường như chúng tôi không nhận được một sửa chữa cho lỗi này sau khi tất cả ...
Tốt. Tôi chưa tìm thấy bài viết đó. Trên thực tế, nó cũng không thể cho Google bất cứ điều gì về chủ đề này. Lạ lùng khi nhiều người không bắt được điều này. –
Liên kết tới "trang web của anh chàng này" đã thay đổi: http://sticklebackplastic.com/post/2007/08/14/One-mighty-gotcha-for-SystemDiagnostic-activity-Ids.aspx –
liên kết đã được cập nhật, cảm ơn chris – regex