我有一个对象列表,其中每个对象都有一个名为"enabled"的布尔属性.我想记住应用程序会话中这些对象的状态.要做到这一点,我至少有两个选项,使用注册表或使用更多的.net方法,app.config文件.我宁愿做后者.
但是,虽然静态/编译时键/值赋值很简单,但动态地将新键分配给app.config文件似乎并不重要.你有一个如何做到这一点的例子吗?
我的问题是,如果你想避免注册表,在.net中存储对象列表属性的最佳方法是什么?
如果可能,我倾向于将您的状态保存到数据库或其他文件结构.通常不会在运行时更改app.config.我倾向于将对象序列化为文件,并使用它来保持状态.
这将根据具体情况动态更改app.config或web.config.
public void ChangeAppSettings(string applicationSettingsName, string newValue)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
KeyValueConfigurationElement element = config.AppSettings.Settings[applicationSettingsName];
if (element != null)
{
element.Value = newValue;
}
else
{
config.AppSettings.Settings.Add(applicationSettingsName, newValue);
}
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("appSettings");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2627 次 |
| 最近记录: |