我有一个应用程序,需要在运行时将自定义部分插入到它的app/web.config文件中。通常可以通过以下方式来实现:
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var mySection = new MyCustomSection { SomeProperty="foo" };
config.Sections.Add("mySection", mySection);
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
我在这里遇到的问题是,我添加到配置文件中的部分需要自己的序列化处理程序。我知道可以通过创建IConfigurationSectionHandler的实现来轻松处理读取配置,但我似乎找不到一种实际写入配置部分的方法。
查看MSDN文档,ConfigurationSection类确实有SerializeSection/DeserializeSection方法,但它们被标记为内部方法,无法被覆盖。我还发现了SectionInformation中的GetRawXml/SetRawXml方法,但它们被标记为基础设施级别的调用,不应直接由用户代码调用。
我尝试做的事情是否可能?这似乎是一个非常直接的用例。
谢谢。