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