我正在寻找一种存储应用程序或机器级别设置的方法,可以使用以下命令在运行时写入这些设置:应用程序设置 http://msdn.microsoft.com/en-us/library/k4s6c3a0.aspx。用户设置允许读/写,但应用程序设置不允许。我一直在使用用户设置在运行时保存这样的设置,但事实证明这实际上是不切实际的,原因如下:
- 机器的所有用户都需要共享设置。
- 在支持电话中(尤其是在危机情况下),很难向用户/员工解释在哪里手动查找和修改这些设置(appdata 是一个隐藏文件夹)。
- 该应用程序的新版本需要使用以前的设置(用户设置似乎被新版本所取代)。
- 我们的员工通常会将应用程序复制到新文件夹,这也会重置用户设置。
无论如何,我们公司的机器仅由一名用户使用,因此通常不需要用户特定的设置。
否则,我真的很喜欢使用应用程序设置,并且如果可能的话希望继续使用它们。如果设置可以驻留在与 EXE 相同的文件夹(就像以前好的 ol' ini 文件一样)。
NOTE:这是一个 WPF 应用程序,而不是 ASP.net Web 应用程序,因此没有 web.config。
好吧,我还不想在运行时更改应用程序设置(这就是我使用用户设置的目的),但我能够做的是在安装时编写应用程序设置。我想类似的方法可能会在运行时起作用。您可以尝试一下,因为似乎没有任何其他建议的 ATM 解决方案。
exePath = Path.Combine( exePath, "MyApp.exe" );
Configuration config = ConfigurationManager.OpenExeConfiguration( exePath );
var setting = config.AppSettings.Settings[SettingKey];
if (setting != null)
{
setting.Value = newValue;
}
else
{
config.AppSettings.Settings.Add( SettingKey, newValue);
}
config.Save();
希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)