我以编程方式生成配置文件。使用ConfigurationManager读取生成的配置XML字符串
Program.cs的
string config = new ConfigBuilder().GenerateConfigFile(false);
ConfigBuilder.cs
public string GenerateConfigFile(bool isSettingEnabled)
{
return "<configuration>...</configuration>";
}
结果
<configuration>
<appSettings>
<add key="IsSettingEnabled" value="false" />
</appSettings>
</configuration>
使用someth就像ConfigurationManager一样,我希望能够从配置变量中读取设置,而无需先将文件写入磁盘。换句话说,可以这样做:
ConfigurationManager.OpenFromMemory(config);
var isSettingEnabled = ConfigurationManager.AppSettings["IsSettingEnabled"];
但是,似乎ConfigurationManager只能处理文件。
是否有一种简单的方法来解释配置,而无需自己解析XML?
如果你只打算保留在内存中生成的配置文件,那么为什么不只是维持简单解释代替?或者,你最终想把这个配置文件写到磁盘的下面? – Jinish
发生的事情比我所展示的还多。我只是试图保持清晰的例子,并专注于这个问题:我可以读取一个字符串iso文件的配置吗? – Aetherix
对。无论如何,这是不可能的。 ConfigurationManager类本身不读取配置。我们使用不同的方法(OpenExeConfiguration,OpenMappedConfiguration等)获得的文件路径被Configuration类从文件路径中读取物理文件。所以,你不可能在内存流中进行配置或者使用ConfigurationManager读取它。如果您打算使用ConfigurationManager类,则最终必须将其保存到磁盘 – Jinish