2012-07-02 10 views
5

Chciałbym/utworzyć kolekcję wszystkich aktualnie wykonywanych operacji i wybrać metadane (dostępne z OperationContext).Jak mogę wyliczyć wszystkie aktualnie wykonywane operacje WCF?

+0

Czy rozważałeś napisanie niestandardowego detektora śledzenia i wysłuchałeś wszystkich interesujących zdarzeń (po włączeniu śledzenia http://msdn.microsoft.com/en-us/library/ms733025.aspx)? –

+0

Utworzono IDispatchMessageInspector. Jego metody AfterReceiveRequest i BeforeSendReply utrzymują ConcurrentDictionary z aktualnie wykonywanymi metadanymi żądania. Wydaje się niewłaściwe, aby wstrzykiwać punkt synchronizacji na początku/końcu każdej operacji, gdy WCF ma już te dane (w 1 lub więcej obiektach). – chilltemp

+0

Jeśli zaczynasz wykonywanie * w kodzie *, dlaczego po prostu nie zostawisz gdzieś flagi, aby pokazać, że operacja wcf jest uruchomiona? –

Odpowiedz

0

Read this artykuł, czy istnieje biblioteka do kolejki i ewentualne anulowanie operacji asynchronicznych w WCF. Może to być przydatne w twoim przypadku.

Jeśli planujesz zbudować narzędzie do monitorowania Możesz hostować usługi WCF przy użyciu architektury aplikacji na Windows Server. Appfabric udostępnia rozszerzenie IIS, które można skonfigurować do śledzenia i rejestrowania wywołań WCF do SQL Server DB oraz pulpitów monitorowania w konsoli administracyjnej IIS. Więcej informacji: here i here.

Powiązane problemy