首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ConfigurationManager.AppSettings -如何修改和保存?

ConfigurationManager.AppSettings -如何修改和保存?
EN

Stack Overflow用户
提问于 2011-03-11 23:27:44
回答 9查看 239.4K关注 0票数 91

这听起来可能太琐碎了,我按照文章中的建议做了同样的事情,但它并没有像预期的那样工作。希望有人能给我指引正确的方向。

我想保存每个AppSettings的用户设置。

一旦Winform关闭,我将触发此操作:

代码语言:javascript
复制
conf.Configuration config = 
           ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

if (ConfigurationManager.AppSettings["IntegrateWithPerforce"] != null)
    ConfigurationManager.AppSettings["IntegrateWithPerforce"] = 
                                           e.Payload.IntegrateCheckBox.ToString();
else
    config.AppSettings.Settings.Add("IntegrateWithPerforce", 
                                          e.Payload.IntegrateCheckBox.ToString());

config.Save(ConfigurationSaveMode.Modified);

因此,第一次当条目还不存在时,它将简单地创建它,否则它将修改现有的条目。然而,这并不能节省时间。

1)我做错了什么?

2)我希望应用程序设置的用户设置再次保存在哪里?它是在Debug文件夹中还是在C:\Documents and Settings\USERNAME\Local Settings\Application Data文件夹中?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-03-11 23:38:26

也许您应该考虑添加一个设置文件。(例如App.Settings)创建此文件将允许您执行以下操作:

代码语言:javascript
复制
string mysetting = App.Default.MySetting;
App.Default.MySetting = "my new setting";

这意味着您可以编辑项目,然后更改项目,其中项目是强类型的,最重要的是...在部署之前,您不必接触任何xml!

结果是应用程序或用户上下文设置。

查看设置文件的"add new item“菜单。

票数 26
EN

Stack Overflow用户

发布于 2014-11-06 19:29:39

我知道我迟到了:)但我是这样做的:

代码语言:javascript
复制
public static void AddOrUpdateAppSettings(string key, string value)
{
    try
    {
        var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
        var settings = configFile.AppSettings.Settings;
        if (settings[key] == null)
        {
            settings.Add(key, value);
        }
        else
        {
            settings[key].Value = value;
        }
        configFile.Save(ConfigurationSaveMode.Modified);
        ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
    }
    catch (ConfigurationErrorsException)
    {
        Console.WriteLine("Error writing app settings");
    }
}

有关更多信息,请查看MSDN

票数 91
EN

Stack Overflow用户

发布于 2011-11-29 23:52:02

有关如何更改app.config文件中appSettings节中的值的信息:

代码语言:javascript
复制
config.AppSettings.Settings.Remove(key);
config.AppSettings.Settings.Add(key, value);

就能完成这项工作。

当然,更好的做法是使用Settings类,但这取决于你想要什么。

票数 72
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5274829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档