av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

為自定義配置的編輯提供“智能感知”的支持

當(dāng)我們在設(shè)計一個框架的時候,必然會涉及一系列的配置。為了讓使用者更好地使用你提供的框架,讓他們能夠容易地維護這些配置是一項基本的要求。對于一些配置過于復(fù)雜的框架,比如EnterLib,比如WCF,往往會提供一個配置的工具。但是,不過這樣的配置工具是否提供,手工編譯配置文件是在所難免的。如果在通過VS編輯配置的時候,能夠提供智能感知和提示性描述的支持,這無疑會使配置的編輯變得非常的容易。這里是一個簡單的例子。

公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出舒城免費做網(wǎng)站回饋大家。

一、配置文件的結(jié)構(gòu)

假設(shè)我們設(shè)計一個MessageGenerator的組件,用于生成程序我們需要的文本消息,比如驗證控件的驗證消息,異常的消息等。消息的內(nèi)容根據(jù)需要可以保存在數(shù)據(jù)庫中或者是XML文件中,并且采用不同模式(粒度)的緩存(None、Single、Category和All)。我們采用插件式的設(shè)計,定義一個IMessageProvider接口用于從數(shù)據(jù)源中獲取消息列表,兩個具體的DbMessageProvider和XmlMessageProvider實現(xiàn)了這個接口。具體采用那個MessageProvider,通過配置來決定(defaultProvider),配置結(jié)構(gòu)如下所示:

 
 
 
  1.    
  2.    
  3.    
  4.    
  5.    
  6.    
  7.    
  8. connectionString="" applicationName="" />   
  9.    
  10.    
  11.    
  12.  

二、為配置定義XSD

為了在VS中編輯配置文件的時候獲得智能感知的支持,我們需要為它定義XSD。整個XSD如下所示,結(jié)構(gòu)比較清晰。不過在這里有幾點需要強調(diào):

(1)我們通過采用節(jié)點定義一些表述性的文字。當(dāng)你通過VS編輯配置文件的時候,針對當(dāng)前配置節(jié)點定義的這些文字將會以Tips的形式顯示出來;

 (2)在定義MessageProvider的schema的時候,我們將針對所有預(yù)定義MessageProvider的配置屬性都定義出來(DbMessageProvider的applicationName和connectionStringName,以及XmlMessageProvider的source)。如果這些配置屬性不是對于所有的MessageProvider都是必須的(比如name和type),將它們定義成可選屬性;

 (3)對于一些枚舉,或者限定在某個列表范圍內(nèi)固定的值,通過/來定義,比如這里使用到的CachingMode。

 
 
 
  1.    
  2.    
  3.    
  4.    
  5.    
  6.    
  7.     
  8.    
  9.    
  10.    
  11.    
  12.    
  13.    
  14.    
  15.    
  16. The configuration name of the default essageProvider.   
  17.    
  18.    
  19.    
  20.    
  21. The caching mode (None, Single, Category, All).   
  22.    
  23.    
  24.    
  25.    
  26.    
  27.    
  28.    
  29. A friendly name of MessageProvider.   
  30.    
  31.    
  32.    
  33.    
  34. The assembly qualified name of the MessageProvider type.   
  35.    
  36.    
  37.    
  38.    
  39. [DbMessageProvider]The connection string configuration name. 
  40.    
  41.    
  42.    
  43.    
  44. [DbMessageProvider]The name of application.   
  45.    
  46.    
  47.  
  48.    
  49. [XMLMessageProvider] The path of the XML file to store message entry list.   
  50.    
  51.    
  52.    
  53.    
  54.    
  55.    
  56.    
  57.    
  58.    
  59.    
  60.  
  61.    
  62.    
  63.    
  64.    
  65.    
  66.    
  67.    
  68.    
  69.  

三、應(yīng)用XSD以獲得職能感知的支持

如果這樣一個XSD已經(jīng)定義好,在對配置文件進(jìn)行編輯的時候,通過VS的菜單XML\Schemas打開XML Schemas對話框。點擊Add按鈕將這個XSD文件添加近來,并Use屬性設(shè)置成Use this schema。這樣你編譯配置文件的時候就可以獲得只能感知的支持了,配置將會變得非常的容易,即使對配置結(jié)構(gòu)不太了解的人也能根據(jù)智能感知和提示性的描述完成配置工作。


標(biāo)題名稱:為自定義配置的編輯提供“智能感知”的支持
本文路徑:http://uogjgqi.cn/article/dhjdjjh.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流