我正在嘗試爲服務人員創建一個簡單的工具,以更新不同程序的App.Config中的幾個條目。 App.Config文件包含初始化程序時使用的自定義參數。從一個單獨的工具編輯App.Config名稱 - 值對
由於App.Config包含許多敏感項目,所以需要一個工具來確保只有某些參數被更改。因此,不允許他們直接編輯App.Config。
我的問題:
- 如何從一個單獨的程序訪問從一個app.config的配置部分的名稱 - 值對?
- 哪個更適合UI:Winforms或WPF?他們的控件是否容易在將來添加更多條目?
- 該工具應該允許用戶設置String,int,double或者Boolean。
這裏是在app.config的結構:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="Settings">
<section name="Section1" type="System.Configuration.NameValueSectionHandler"/>
<section name="Section2" type="System.Configuration.NameValueSectionHandler"/>
<section name="Section3" type="System.Configuration.NameValueSectionHandler"/>
<section name="Section4" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<Settings>
<Section1>
<add key="NAME_STRING" value="Some String"/>
</Section1>
<Section2>
<add key="NAME_INTEGER" value="10"/>
</Section2>
<Section3>
<add key="NAME_DOUBLE" value="10.5"/>
</Section3>
<Section4>
<add key="NAME_BOOLEAN" value="true"/>
</Section4>
</Settings>
... Omitted ...
</configuration>
在其使用在app.config本身的程序,我可以很容易地改變,像這樣的值:
NameValueCollection nvc = (NameValueCollection)ConfigurationManager.GetSection("Settings/Section1");
加載App.Config後,是否有類似的方式從單獨的程序執行此操作?
只是一個說明:你的問題3其實不是一個問題。有沒有你想問的關於設置這些類型的數據? –
啊,好的,趕上!只要可能,UI控件應該支持數據類型。如果有錯誤控制,比如在應該有一個整數的地方設置double,它會導致錯誤。 –
你有沒有考慮加密敏感部分?然後您可以讓服務人員更改未加密的部分。這[鏈接](http://www.dotnetprofessional.com/blog/post/2008/03/03/Encrypt-sections-of-WebConfig-or-AppConfig.aspx)有更多信息。 – DeanOC