Tôi đang cố gắng tìm một cách để theo dõi luồng thực thi nhiệm vụ không đồng bộ theo cách dễ hiểu về tác vụ, luồng gốc ban đầu là gì.Theo dõi C# /. NET nhiệm vụ dòng chảy
Tôi cần nó chủ yếu để ghi nhật ký, gỡ lỗi và bảo quản một loại dấu vết ngăn xếp cho một luồng thực thi cụ thể. Ví dụ:
ví dụ: nếu tôi có máy chủ có nhiều khách hàng từ nhiều IP và máy chủ cần thực hiện luồng công việc cho từng khách hàng. việc ghi nhật ký như vậy là rất khó, đặc biệt là khi sử dụng cơ chế không đồng bộ/chờ đợi.
Tôi chưa tìm ra cách để bọc các tác vụ theo cách mà mỗi tác vụ được thực thi tôi sẽ biết mô tả luồng ban đầu khi ghi nhật ký, ví dụ nếu tôi bắt đầu một luồng công việc mới cho một hành động mô tả - "Chăm sóc khách hàng 10.0.3.4" tôi muốn có thể thêm mô tả này cho từng mục nhật ký xuất phát từ luồng này trong bất kỳ tác vụ nào được tạo từ nó.
Khi chỉ sử dụng đề tài dễ dàng vì bạn có biến tĩnh tĩnh. với các nhiệm vụ không thể của nó ... Tôi thậm chí đã cố gắng tạo ra công cụ lập lịch nhiệm vụ của riêng mình, sẽ loại bỏ bất kỳ tác vụ nào sử dụng nó (ngay cả khi sử dụng các phương thức async/await) nhưng đã bị chết vì cơ sở lập lịch tác vụ đôi khi sử dụng chuỗi mới (mặc dù không có bất kỳ yêu cầu ngầm nào để sử dụng một chuỗi mới) - phương thức "TryExecuteTaskInline" đôi khi có thể chạy trong một chuỗi mới.
Bất kỳ ý tưởng hoặc đề xuất nào về cách tôi có thể đạt được điều đó?
Làm thế nào để hiển thị cho chúng tôi một số mã với những gì bạn đang cố gắng làm? –