我需要让用户能够更改应用程序设置,在这种情况下是应用程序数据库的位置。我注意到应用程序设置在运行时只读,但这需要是应用程序范围的,而不是特定于用户的。如何在运行时更改的 windows.forms 中保留应用程序范围的连接字符串?
问问题
1624 次
2 回答
2
您可以使用
ConfigurationManager.AppSettings.Set()
还
ConnectionStringSettings.ConnectionString 属性
也可以设置。
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add("test","tada");
config.Save(ConfigurationSaveMode.Minimal, true);
于 2009-11-25T10:41:12.200 回答
0
使用较新的 Settings 类在框架中没有直接的方法 - 您可以使用 Settings 支持保存用户级设置,但不能保存 application/machine level。最简单的方法是对一个类进行 XmlSerialize 并将其存储在一个目录中,该目录在所有具有写访问权限的用户之间共享,当他们运行未提升时,例如 Public Documents 文件夹(不应写入程序目录),例如。Environment.SpecialFolder.CommonApplicationData
编辑:是的,旧的 appSettings 机制有一种写入方式,但这是个坏消息 - 较新的 Settings 东西省略了这个工具,因为它是坏消息,原因有很多尝试写入 Program Files 中的配置文件
于 2009-11-25T10:42:14.687 回答