2.06.2006

.NET 2.0 And Configuration 1/4

在.Net Framework的時候我是從來沒用過Configuration,一直到了Enterprise Library出來,我才開始使用。就算到了現在,我對Configuration還是不輕易使用,畢竟我還是覺得IO的動作能少就少,講到這個,我還撥不出空去看是不是.Net 2.0之後,Configuration是不是有Cache的動作。

不過老實講,Configuration是有好處的,至少不用透過複雜又難搞的Register來做動作,就只要放在確定的地方,在某種層面來看,Configuration的出現,算是對.Net 宣稱的XCOPY部署作一個良性的相對應。雖然有點馬後炮,不過要是用過Register應該或多或少被搞到一陣子。

Configuration在.NET 2.0做了一些個改變,可以把它想做是把Enterprise Library的Configuration Block吸收進來,然後做了些改進。

之前的Configuration分成Machine.config與ApplicationName.exe.config兩塊,現在分的比較有架構的感覺(不過也有點制式)。

舉個例子來說,現在的Configuration分成兩個部份,假設我們建立了一個程式,這個程式呢,有一些設定可以由使用者變動的,假設說是應用程式的配色方式,當然啦,我們也會有一個預設的設定值。現在我們考慮將這些設定值交給Configuration來儲存使用,首先,Configuration可以分成兩部份,一部分是所謂的應用程式的範疇,另一部份就是使用者的範疇。簡單的說,應用程式的範疇就是預設值,就是應用程式出廠的設定值,可以放在Config檔一起出廠;而使用者的範疇就是使用者自己設定自己喜歡的配色後,所儲存的設定檔。

因為預設值是不給使用者改變的,也就是說在Runtime是不能由應用程式作改變的,所以它是唯讀的。

那使用者的範疇又劃分成none,PerUserRomaing,PerUserRoamingAnaLocal,第一個就是不管他,交給API去處理,後面兩個就是以前.NET 1.0、.NET 1.1沒有的東西了。由字面上來看我們可以知道PerUserRoaming指的是漫遊使用者,第二個就泛指兩者;如果你的Application會在AD的環境下使用,卻對漫遊使用者完全沒頭緒的話,請先研究一下AD。不過我通常會把第二個當作Local User。

1 comment:

Diablo III Gold said...

A real nice post, My spouse and i appreciated the idea a great deal! Is fantastic fashion sense! Great photos!


Buy Guild wars 2 Gold