2014-04-01 20 views
5

Kiedy profil mój wniosek, wydaje się, że 70% czasu spędza w metodzie: Microsoft.Practices.EnterpriseLibrary.Configuration.Storage.ConfigurationChangeWatcher.Poller() od co ja mogę zebrać ta metoda powinna być wywoływana tylko co 50 sekund, więc trudno mi uwierzyć, że to zajmuje tak dużo czasu. Czy ktoś wie, w jaki sposób można zmniejszyć częstotliwość, że ta metoda jest wywoływana?ConfigurationChangeWatcher.Poller()

+0

Czy używasz ANTS Performance Profiler? Zauważam to samo w mojej aplikacji ASP.Net. 40% czasu spędza się w tej metodzie. Daj mi znać, jeśli znajdziesz przyczynę. – Paaland

+0

Korzystam z profilera zadań dotTrace Jetbrain 5.5 –

Odpowiedz

1

Jestem zaskoczony, że w aplikacji, która wykonuje prawdziwą pracę, wątek licznika czasu, który wykonuje się co 15 sekund (domyślnie) i wygląda na porównywanie czasów plików, zajmuje tyle czasu.

Co jeśli spróbujesz ustawić interwał czasowy aby na dłuższy przedział kiedyś po inicjalizacji Enterprise Library:

ConfigurationChangeWatcher.SetDefaultPollDelayInMilliseconds(int.MaxValue); 

Jeśli to zrobisz, nie czas spędzony spadek?

Ponadto, jeśli programowo używa się klasy FileConfigurationSource, występuje przeciążenie konstruktora w celu wyłączenia oglądania zmian w plikach konfiguracyjnych.