2014-04-01 5 views
5

Quando il profilo my applicazione, sembra che il 70% del tempo viene speso nel metodo: Microsoft.Practices.EnterpriseLibrary.Configuration.Storage.ConfigurationChangeWatcher.Poller() Da quello che ho potuto capire questo metodo dovrebbe essere invocato solo ogni 50 secondi, quindi trovo difficile credere che stia effettivamente impiegando così tanto tempo. Qualcuno sa come posso ridurre la frequenza con cui viene chiamato questo metodo?ConfigurationChangeWatcher.Poller()

+0

Stai utilizzando ANTS Performance Profiler? Sto notando lo stesso nella mia applicazione ASP.Net. Il 40% del tempo è trascorso in quel metodo. Per favore fatemi sapere se trovate la causa. – Paaland

+0

Sto usando Jetbrain dotTrace Performance profiler 5.5 –

risposta

1

Sono sorpreso che in un'applicazione che sta svolgendo un lavoro reale che un thread del timer che viene eseguito una volta ogni 15 secondi (il valore predefinito) e cerchi di confrontare solo i tempi dei file occupa così tanto tempo.

Che cosa succede se si tenta di impostare l'intervallo del timer ad un intervallo più lungo qualche tempo dopo l'inizializzazione Enterprise Library:

ConfigurationChangeWatcher.SetDefaultPollDelayInMilliseconds(int.MaxValue); 

Se fai che fa il tempo trascorso diminuzione?

Inoltre, se si utilizza la classe FileConfigurationSource a livello di codice, è presente un sovraccarico del costruttore per disabilitare la visualizzazione delle modifiche al file di configurazione.