C#App.config基于每个用户

时间:2016-10-08 22:25:40

标签: c# configurationmanager

我正在编写一个具有一些应用程序级别配置的应用程序,但也有一些应该基于每个用户完成的配置。

我正在为BrowserStack编写一个配置部分来使用App.config文件(每个msdn),它让我可以定义需要存储的重要内容,但是,有些内容属于在不属于版本控制的配置文件中。在此特定实例中,browserstack.userbrowserstack.key(从their documentation检索到的)属于单独的配置文件,并且不应该签入。

c#配置是否允许这种行为,或者我是否必须修改我的配置部分才能执行此操作? (包括在下面以供参考)

public class BrowserStackSettings : ConfigurationSection
{
    [ConfigurationProperty("hubUrl", DefaultValue = "http://hub-cloud.browserstack.com/wd/hub/", IsRequired = false)]
    public string HubUrl
    {
        get
        {
            return (string)this["hubUrl"];
        }
        set
        {
            this["hubUrl"] = value;
        }
    }

    [ConfigurationProperty("user", IsRequired = true)]
    public string User
    {
        get
        {
            return (string)this["user"];
        }
        set
        {
            this["user"] = value;
        }
    }

    [ConfigurationProperty("key", IsRequired = true)]
    public string Key
    {
        get
        {
            return (string)this["key"];
        }
        set
        {
            this["key"] = value;
        }
    }            
}

1 个答案:

答案 0 :(得分:2)

C#有一个名为settings的东西。一个设置的范围可以是" user"或"申请"。无法轻松更改应用程序设置。它们存储在Program Files的app's .config文件中。但是可以更改用户设置,当然每个用户可以有所不同。这些设置存储在用户配置文件中的另一个.config文件中。

因此,app应该以某种方式允许用户更改这些设置,并保存它们只需调用Properties.Settings.Default.Save();