这是禁用代码中所有app.config设置的最佳方法吗?我不想在代码中设置选项,我想检查用户是否没有管理员权限,如果是,则禁用所有应用程序配置设置(如内部跟踪)。很高兴能够随意重新启用配置,但这不是强制性的。
我可以考虑定义不同的app.config并切换到空的那个,如果可行的话。
public static void UpdateConfig(bool IsAdmin)
{
Configuration config = configurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (IsAdmin) config.AppSettings.File = "app.config";
else config.AppSettings.File = "appdisabled.config";
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
也许有一种更简单的方法可以通过代码实现这一点,但是找不到一个
就像
一样NameValueCollection appSettings = ConfigurationManager.AppSettings;
ConfigurationManager.ClearSettings() // <- that would be nice
并重新启用它
ConfigurationManager.AppSettings = appSettings;
ConfigurationManager.ApplySettings() // <- that would be nice
有什么建议吗?