我应该如何存储公共设置? (。净)

时间:2009-02-06 17:22:22

标签: .net settings app-config configuration-files

我正在使用应用程序作用域设置来存储在运行时无法更改的设置。我正在使用用户范围的设置让个人用户配置他们的首选项。但是,我应该如何存储/控制应用程序范围内的管理员级用户在运行时可修改的设置(即,它们会影响所有PC的用户)?我想管理员可以手动修改应用程序范围的设置,但这不是首选。

谢谢!

3 个答案:

答案 0 :(得分:1)

如果您计划在计算机上存储这些设置,请考虑使用using the common appdata文件夹存储跨用户设置。此文件夹可从所有用户访问。您需要自己存储/读取这些设置,并且正如其他人提到的那样,您可以使用xml序列化程序。

不幸的是,在这种情况下,你可以自由管理 - 任何用户都可以写入这个文件夹(这里真的是这个目的 - 对于可以改变的常见设置)。如果“管理员设置”仅按照惯例,或者设置所在的位置不够,这可能就足够了。

答案 1 :(得分:0)

我的建议是将这些可修改的设置存储在数据库的表中,该数据库在应用程序启动时提取,以便在不必触摸代码文件的情况下轻松修改各种值。这类似于应该存储在某个地方的用户配置数据,这些数据可以轻松访问并处理更改而不会破坏或触发重新编译。但是,这确实假定某种形式的DB与应用程序有关。

答案 2 :(得分:0)

您可能必须自己处理这个问题。创建一个设置类,该序列化为XML或保存在注册表中(或您首选的存储设置方法)和选项窗口。适当时保存并加载设置。

需要注意的是,用户范围的设置仅适用于已登录的用户。据我所知,至少没有一些花哨的东西,你将无法轻易编辑其他用户的设置。