我使用Jeff Atwood的Last Configuration Section Handler You'll Ever Need,但它似乎只適用於默認的app.config文件。如果我想將某些設置分隔到另一個文件中,反序列化不起作用,因爲ConfigurationManager.GetSection只從應用程序的默認app.config文件中讀取。是否可以更改默認配置文件的路徑或將ConfigurationManager指向第二個配置文件?我可以更改默認配置文件嗎?
3
A
回答
5
肯定的,只是有一個configSource =「」屬性指向另一個文件同名的XML元素替換默認的配置文件中的部分...
...在年應用。配置或web.config中......
<configSections>
<section name="Connections"
type="BPA.AMP.Configuration.XmlConfigurator, BPA.AMP.Data.Config.DAL"/>
<section name="AutoProcessConfig"
type="BPA.AMP.Configuration.XmlConfigurator, BPA.AMP.Data.Config.DAL"/>
</configSections>
<Connections configSource="Config\Connections.config" />
<AutoProcessConfig configSource="Config\AutoProcess.config" />
然後共同XML;配置類
public class XmlConfigurator : IConfigurationSectionHandler
{
public object Create(object parent,
object configContext, XmlNode section)
{
XPathNavigator xPN;
if (section == null || (xPN = section.CreateNavigator()) == null)
return null;
// ---------------------------------------------------------
Type sectionType = Type.GetType((string)xPN.Evaluate
("string(@configType)"));
XmlSerializer xs = new XmlSerializer(sectionType);
return xs.Deserialize(new XmlNodeReader(section));
}
}
0
您可以手動做到這一點,通過打開文檔作爲一個XDocument,找到合適的部分並將其傳遞給您的配置節處理程序。
XDocument configDoc = XDocument.Load(alternateConfigFile);
var section = configDoc.Descendants("sectionName").First();
var obj = sectionHandler.Create(null, null, section);
相關問題
- 1. 我可以指定一個默認的AWS配置文件嗎?
- 2. 我們可以更新docker的默認配置嗎?
- 3. 我們可以更改DispatcherServlet上下文配置文件名嗎?
- 4. 我可以更改Apache2配置文件名嗎?
- 5. 我可以在配置文件中設置GPS配置的更改嗎?
- 6. 我可以更改默認語言環境以使用嗎?
- 7. 我可以更改默認的衛星組裝文件夾結構嗎?
- 8. 可以更改Orchard CMS模塊的默認位置嗎?
- 9. 我們可以更改Maven默認目錄(.m2)名稱嗎?
- 10. 我可以更改默認的MaskedEditExtender am/pm嗎?
- 11. 我可以更改圖像邊框的默認顏色嗎?
- 12. 我可以更改PHP或服務器的默認編碼嗎?
- 13. 我可以更改FLite的默認聲音嗎?
- 14. 我可以更改tig的默認視圖嗎?
- 15. 我可以更改WordPress的默認頁面嗎?
- 16. 我可以更改appengine模型中的默認屬性嗎?
- 17. 我可以使用插件更改Firefox中的配置值嗎?
- 18. 更改vb.net的默認文件位置
- 19. 的Web.config更改文件默認位置
- 20. Kohana 3 - 我可以在運行時更改配置文件的設置嗎?
- 21. 我可以在exe中設置/更改圖標的默認索引嗎?
- 22. 我可以在java中更改由編譯器設置的默認超類嗎?
- 23. 默認PHP配置文件
- 24. 我可以修改默認iOS控件的子視圖嗎?
- 25. 我可以更改分配參數嗎?
- 26. 您可以配置WCF使用的XmlWriter的默認設置嗎?
- 27. iOS:可以修改UIImagePickerController默認UI嗎?
- 28. 我可以將MSI配置爲靜默安裝到非默認目錄嗎?
- 29. 如何更改WCF的默認配置?
- 30. 針對SBT的默認配置更改
祝福你,我的兒子。這完全是完全的壞話。 – 2009-01-07 17:37:41
完全一樣,歡迎,老兄! – 2009-01-07 17:48:03