C#app.config读写

时间:2012-07-19 12:38:39

标签: c# persistence app-config

我们可以在app.config文件中保存数据或一些文本吗? 如果是,那么它是持久的还是暂时的?

例如,如果我将最后访问日期时间存储在app.config文件中,然后在我启动应用程序的一些时间/天/年之后关闭/退出应用程序,则可能是我可以检索的上次访问日期时间。如果是,那么请用代码解释....

谢谢, 拉吉

这是我的代码..

尝试从配置文件中检索日期时间.. 但是显示错误对象未设置为像...这样的对象。

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

if (email.To.Contains(Email) && DateTime.Compare(email.UtcDateTime.Date, Convert.ToDateTime(config.AppSettings.Settings["ModificationDate"].Value)) > 0)

这里我将日期时间存储/保存在app.config文件中。

System.Configuration.Configuration config =
             ConfigurationManager.OpenExeConfiguration
                        (ConfigurationUserLevel.None);

// Add an Application Setting.
config.AppSettings.Settings.Add("ModificationDate", DateTime.Now + " ");

// Save the changes in App.config file.
config.Save(ConfigurationSaveMode.Modified);

// Force a reload of a changed section.
ConfigurationManager.RefreshSection("appSettings");

Console.WriteLine("Last Update :"+config.AppSettings.Settings["ModificationDate"].Value);
Console.ReadLine();

请建议我为什么它会向我显示一个错误,对象没有设置我做错任何请...

3 个答案:

答案 0 :(得分:1)

您可以创建一个设置xml文件来执行此操作。

在VS中转到项目属性 - > Settings,然后在。中写入一个值。

在代码中,您可以使用

获取/设置该值
Properties.Settings.Default.YourVariable = 0;

如果您要设置值,请务必保存

Properties.Settings.Default.Save();

有关优秀教程,请参阅here

答案 1 :(得分:0)

我会使用自定义配置部分来创建您的配置类型 - 上次访问日期时间。您可以创建更复杂的层次结构配置和强类型。

同样,如果您需要这样做,它取决于您的要求和设计。否则,标准文件存储(txt / xml)也允许你这样做。我个人通常使用 app.config 来获取特定于应用程序的级别(外观/字体/服务器名等)配置,而不是事务配置。

例如

public class LastAccessConfigurationSection : System.Configuration.ConfigurationSection {
    [ConfigurationProperty("LastAccess")]
    public string LastAccess{
        get { return (string)this["LaunchTime"]; }
        set { this["LaunchTime"] = value; }
    }
}

你可以有一个静态类来管理生命周期,让你能够坚持改变。

public static LastAccessConfigurationSection Config { get; internal set; }

    public static void Initialize() {
        Config = ConfigurationManager.GetSection("LastAccess") as LastAccessConfigurationSection;
    }

答案 2 :(得分:-1)

您可以像其他任何文件一样使用App.config进行存储,它会一直存在并在您下次运行程序时可用。这是文件存储的本质。我建议您将该数据存储在单独的文件或数据库中。但是,我不会为你编写代码。

相关问题