|
安裝EnterpriseLibrary后,VS中的配置文件就默認用它帶的Enterprise Library Configration來打開,為了看看配置文件Web.config的變化用源文件格式打開,后來再用那個打開就會出錯:“嘗試讀取或寫入受保護的內存。通常指示其他內存已損害。”如果有知道的同學請告訴我一下,謝謝啦!在TerryLee的文章中發現有一個Configuration Application Block,但是在現在的這個版本或是2.0版本就沒有這個節點了,只有Configuraion Sources,而這個節點包含兩個子節點:File Configuration Source和System Configuration Source,默認的是System Configuration Source也就是Web.config或App.config配置文件。
默認時我們可以通過SystemConfigurationSource類來完成,該類繼承自IConfigurationSource接口。通過GetSection()等方法可以對其進行操作,值得一提的是在EnterpriseLibrary中對配置的文件讀取是進行緩存的,當然我們在更改配置文件后要通知系統消除緩存重新讀取并緩存。其實我們更本不需要知道他是怎么緩存的,只要告訴他我們已經更改了配置文件。由于我還沒有很明白其中的道理所以在這也不能把整個機理說出來,其實在默認配置時我們基本不要管他,例如我們可以直接用Data Access Application Block中的DataProviderFactory來創建一個抽象的Database實例,而EnterpriseLibrary已經封裝好了整個過程。
如果我們要用FileConfigurationSource當然也是要用這個類來讀取配置文件中的信息了,我對這個比較感興趣,就像前幾天有個人問我為什么不喜歡Session一樣,這是說不出來的,可能和我這個人有點關系。不喜歡并不是不用或不會用,我們都是懶人,那個簡單就用那個嗎?嗬嗬!在我現在有限的資源內,好像要將配置放在其他文件中,肯定要有Web.config和App.config文件的存在,并且配置其他配置文件的文件名稱和Provider。下面我們以連接字符串為例子來看看對Data.config文件的讀取是怎么樣的。如果把這個選項配置成默認則就可以直接通過DataProviderFactory來完成,如果不是就要通過下來代碼來創建:
FileConfigurationSource source = new FileConfigurationSource("Data.config");
DatabaseProviderFactory dbFactory = new DatabaseProviderFactory(source);
Database db = dbFactory.Create("ConnectionStringName");
這樣我們就得到了Database類實例來完成我們的操作了。我對這個冬冬也不是很熟,但我想我和他會成為好朋友的,因為我下一個項目準備用這個,雖然不是很大的項目,這樣就可以鞏固我的知識,呵呵!如果有什么錯誤請指正,謝謝!
AspNet技術:ConfiguraionSource節點及多個配置文件的應用,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。