2012-07-02 42 views
5

Tôi muốn nhận/tạo một tập hợp tất cả các hoạt động hiện đang thực thi và chọn siêu dữ liệu (có sẵn từ OperationContext).Làm cách nào để liệt kê tất cả các hoạt động WCF đang thực thi?

+0

Bạn đã cân nhắc viết một trình theo dõi tùy chỉnh và lắng nghe tất cả các sự kiện thú vị (khi truy tìm được kích hoạt http://msdn.microsoft.com/en-us/library/ms733025.aspx)? –

+0

Tôi đã tạo IDispatchMessageInspector. Các phương thức AfterReceiveRequest và BeforeSendReply của nó duy trì một ConcurrentDictionary với siêu dữ liệu yêu cầu hiện đang thực thi. Nó chỉ có vẻ sai khi được tiêm một điểm đồng bộ hóa ở đầu/cuối của mọi hoạt động khi WCF đã có dữ liệu này (trong 1 hoặc nhiều đối tượng). – chilltemp

+0

Nếu bạn là người bắt đầu thực hiện * trong mã *, tại sao không chỉ để lại một lá cờ ở đâu đó để cho thấy rằng một hoạt động wcf đang chạy? –

Trả lời

0

Read this bài viết, có thư viện để xếp hàng và cuối cùng hủy bỏ các phép toán không đồng bộ trong WCF. Nó có thể hữu ích trong trường hợp của bạn.

Nếu bạn dự định xây dựng công cụ giám sát Bạn có thể lưu trữ các dịch vụ WCF bằng cách sử dụng khung ứng dụng trên Windows Server. Appfabric cung cấp một phần mở rộng IIS có thể được cấu hình để theo dõi và đăng nhập các cuộc gọi WCF đến một SQL Server DB và có bảng điều khiển giám sát trong giao diện quản trị IIS. Thông tin thêm herehere.

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