我以編程方式生成配置文件。使用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