說到要把ap的設定檔,直覺是要用xml檔案
可以使用XmlDocument來完整讀寫xml檔。
可以使用XmlDocument來完整讀寫xml檔。
?
微軟為了簡單這類config/xml的操作
.Net 2.0實作了 ConfigurationManager來操作xml檔
例如單一值,可以直接:
string portNumber = ConfigurationManager.AppSettings["PortNumber"];
.Net 2.0實作了 ConfigurationManager來操作xml檔
例如單一值,可以直接:
string portNumber = ConfigurationManager.AppSettings["PortNumber"];
?
檔案內容如下:
<appSettings>
??? <add key="PortNumber" value="4532"/>
</appSettings>
<appSettings>
??? <add key="PortNumber" value="4532"/>
</appSettings>
除了appSettings外,也支援常用的connectString等等。
這時候你會發現一些問題:
1.為何tag name要使用java那種camel命名法呢? 很不合.Net命法!
2.似乎這樣tag是很特定的,連寫法都是制式,那怎 自訂自己的tag呢?
1.為何tag name要使用java那種camel命名法呢? 很不合.Net命法!
2.似乎這樣tag是很特定的,連寫法都是制式,那怎 自訂自己的tag呢?
?
要在*.config內自訂自己的xml區塊是ok的,
但要讀取它你會發現 ConfigurationManager.GetSection(),傳回object型別
你一定對這個object感到奇怪吧?
但要讀取它你會發現 ConfigurationManager.GetSection(),傳回object型別
你一定對這個object感到奇怪吧?
此文就講到怎 讀自訂的區塊:
http://www.cnblogs.com/AchillesHuang/archive/2005/11/27/285491.aspx
自訂的區塊也是靠XmlNode loop慢慢讀進來,沒比較高尚。
http://www.cnblogs.com/AchillesHuang/archive/2005/11/27/285491.aspx
自訂的區塊也是靠XmlNode loop慢慢讀進來,沒比較高尚。
?
利用ConfigurationSection來寫值,但它只能寫制式格式的值
對於自訂的區塊寫檔並沒有用處(或許我試不出來)。
文末有提到使用特定的class來轉型,但它只示範寫單行的attribute值而己
對於階層式的自訂xml區到,看不到怎 寫!
對於自訂的區塊寫檔並沒有用處(或許我試不出來)。
文末有提到使用特定的class來轉型,但它只示範寫單行的attribute值而己
對於階層式的自訂xml區到,看不到怎 寫!
而且,常常只是想儲存某值時,卻要用到上述的類別轉型
從文中也知道手法很不高尚,一直assign或lopp讀值
好像沒有比XmlDocument的SelectSingleNode()函式來得有用、簡單。
從文中也知道手法很不高尚,一直assign或lopp讀值
好像沒有比XmlDocument的SelectSingleNode()函式來得有用、簡單。
?
所以,在讀取的方式,實作IConfigurationHandle介面能簡化及封裝
這樣的好處是避免一直作XmlNode的操作,可理解。
但寫值方式,找了很多文章沒有提及,
也因此讓我不敢用上述的類別,仍是暫時使用XmlDocument來操作config檔。
也因此讓我不敢用上述的類別,仍是暫時使用XmlDocument來操作config檔。
?
最後,也發現那些java命名的節點,是內定有其意義的
那 我們自訂的就不該用這樣的命名,避免和內定發生衝突。
那 我們自訂的就不該用這樣的命名,避免和內定發生衝突。