到目前為止,我們使用的模塊都是在同一個(gè)配置文件中,這顯然是不靈活的,我們希望每個(gè)功能模塊能獨(dú)立的在一個(gè)配置文件中體現(xiàn),這樣不僅易于管理,易于擴(kuò)展,也易于閱讀和分類.企業(yè)庫(kù)當(dāng)然考慮到了這個(gè)問(wèn)題并且提供了解決方案,本章就是講解如何使用Configuration Application Block來(lái)將各個(gè)模塊分割到獨(dú)立的配置文件中的.
和以前一樣,我們先提需求,再用實(shí)例做講解,這樣比較形象生動(dòng)些:
1) 創(chuàng)建一個(gè)工程,里面用到企業(yè)庫(kù)的Data 數(shù)據(jù)訪問(wèn)模塊和Log日志處理模塊
2) 2個(gè)模塊的配置分別保存在不同的配置文件中(Data.config和Log.config中)
3) 在程序中調(diào)用這2個(gè)模塊
1. 用VS 2008新建一個(gè)控制臺(tái)應(yīng)用程序.接著運(yùn)行EntLibConfig.exe, 選擇Blocks菜單 ,單擊Add Data Settings .并設(shè)置Connection String屬性,可以隨意設(shè)置一個(gè)連接字符串,在此只做測(cè)試使用,配置好后保存成Data.config,保存到你的控制臺(tái)程序目錄下:
2. 再打開一個(gè)EntLibConfig.exe. 選擇Blocks菜單 ,單擊Add Logging Settings .設(shè)置如下所示,日志模塊的詳細(xì)介紹請(qǐng)參考我之前的文章.配置好之后保存成Log.config,并保存到你的控制臺(tái)程序目錄下.
3. 再打開一個(gè)EntLibConfig.exe. 選擇Blocks菜單 ,單擊Add Configuration Settings . 點(diǎn)擊Sources面板右上角的加號(hào)按鈕—Add Sources—Add File-based Configuration Source.設(shè)置創(chuàng)建好的File-based Configuration Source的Name屬性為Data ConfigurationSource.接著將File Path屬性設(shè)置為前面創(chuàng)建好的Data.config文件:
4. 點(diǎn)擊Redirected Sections面板右上角的加號(hào)按鈕—Add Redirected Sections.設(shè)置Configuration Source的屬性為Data Configuration Source:
5. 同3,4步一樣,我們?cè)僭O(shè)置Log模塊的配置,最后設(shè)置如下圖所示:
6. 好了,保存該配置文件為App.config,同樣保存到前面建立好的控制臺(tái)程序目錄下,這時(shí)候你的程序目錄下應(yīng)該有如下3個(gè)文件啦:
7. 創(chuàng)建一個(gè)新的控制臺(tái)應(yīng)用程序,將App.config添加到程序內(nèi),并加入需要的Dll文件:
添加引用:
8. 測(cè)試:
9. 運(yùn)行結(jié)果:
打開rolling.log可以看見如下內(nèi)容:
至此,我們就解決了前面提出的所有需求啦,我們將數(shù)據(jù)庫(kù)模塊和日志模塊的配置分別創(chuàng)建在Data.config和Log.config文件中,并用App.config作為字典來(lái)查詢各個(gè)模塊和配置文件的從屬關(guān)系,這樣使得各個(gè)模塊間的耦合度大大降低,簡(jiǎn)化了管理.好了,Microsoft Enterprise Library的系列教程到此算是告一段落了.6,7月份要準(zhǔn)備期考啦,考完試我再做其他的系列教程吧,請(qǐng)大家屆時(shí)關(guān)注,哈哈
聯(lián)系客服