2009-07-21 42 views
1

我在web.config文件中有自定義配置節。我之間徘徊:web.config自動緩存

  1. 它的每一次讀入靜態類,當我需要的任何配置值(因爲我想,當我打開它們(例如該系統已經緩存文件,當我運行Word需要更長的時間第一時間和少得多的連續打開))
  2. 將它讀入靜態類,並使用具有文件依賴性和使用緩存數據的Application.Cache對其進行緩存 - 我認爲這樣會更快一些,但值得一提。

您如何看待汽車的文件(開放式)高速緩存什麼...

回答

8

編寫自定義配置節和使用ConfigurationManager.GetSection

.NET注意到這個緩存的照顧,每當在web.config文件被更改無效。

+1

+1感謝您的確認。 – 2011-01-14 13:10:52

2

據我所知,配置文件已經在內存使用System.Configuration.ConfigurationManager緩存時長。

只是一個原因,改變一個web.config /的app.config需要一個應用程序重新拿起改變從web.config中

3

讀取值是非常非常快的。 ConfigurationManager爲此目的進行了高度優化。速度如此之快,以至於在Session,Cache等中存儲該值幾乎沒有任何收穫。但是,如果將設置存儲在web.config中,則更改該值將重新啓動應用程序,但如果您使用Cache,舊的緩存值仍將存在......所以不要。在需要時只需從web.config中讀取值;在標準筆記本電腦上,我可以讀取每秒600,000次以上的web.config設置,而且沒有問題。

+1

還不完全。如果應用程序重新啓動,則應用程序關閉時緩存值也會「丟棄」。 – 2009-07-21 18:04:50