在C#中存储应用程序设置

在C#中存储应用程序设置(例如用户名和密码,数据库位置……)的最佳实践是什么?

提示:我是.net和C#的新手

应用程序配置应用程序范围设置(非特定于用户)属于app.config(适用于桌面应用程序)或web.config(适用于Web应用程序)。

加密web.config文件的各个部分非常简单,如本超级简单示例所述 。

如果您需要存储用户特定设置(如应用程序设置等)或与应用程序配置无关的应用程序范围设置,您可以使用如下所述的设置文件:

C#中的用户设置

我不确定它引入了什么版本的.net / Visual Studio,但您可以右键单击您的项目,选择“添加新项”并从“添加新项”窗口中选择“设置文件”。 这为您的项目提供了一个(默认命名) Settings.settings文件,您可以配置要在其中公开的所有设置。

您可以将创建的设置定义为“ 应用程序”或“ 用户” ,这意味着您可以使用此单一界面来控制全局和用户设置。 使用Visual Studio提供的编辑器在Settings.settings文件中创建设置后,可以使用以下代码访问它:

 // Get a Setting value var valueOfSetting1 = Settings1.Default.Setting1; // Modify and save a Setting value Settings1.Default.Setting1 = "New Value"; Settings1.Default.Save(); 

第一个选项是注册表。 它很简单,但对密码来说不太安全。 另一个选项是使用您创建的文件。 除非您想实施加密,否则这也不安全。

下一个选项是使用应用程序设置。 这也很简单,但有一些捕获。 首先,右键单击您的项目,然后转到“属性”。 在“设置”选项卡下,您可以存储可以从程序中访问的变量

 string password = Properties.Settings.Default.Password 

您也可以以相同的方式更改它们,但只有在范围设置为用户时才可以。 当范围是应用程序范围时,VS不允许您出于某些奇怪的原因更改这些变量。 要保存更改,您必须按如下方式调用Save():

 Properties.Settings.Default.Save(); 

它们保存在C:\ Documents and Settings \’Current User’\ Local Settings \ Application Data \下的User Data文件夹中

另一种选择是将它们包含在您的数据库中,但由于您还存储了数据库位置,这可能对您不起作用。

我认为是app.config(非网络应用)或web.config(网络应用)。

这些类型的设置通常位于应用程序配置文件(web.config,app.config)中。

http://www.devasp.net/net/articles/display/679.html

如果要存储密码,则可能还需要加密相关配置部分。

http://msdn.microsoft.com/en-us/library/53tyfkaw.aspx

http://msdn.microsoft.com/en-us/library/ff650304.aspx

请注意,如果使用app.config,您将看到它被重命名为..config,具体取决于您的输出是生成DLL还是EXE。

与上面的回复建议一样,app.config或web.config是应用程序设置的最佳位置。 如果您需要更强大的数据库,服务器设置等xml样式标记方式,则可以使用configurationSection并创建自定义节。

http://www.codeproject.com/KB/cs/CustomConfigurationSectio.aspx

对于数据库密码,我这样做的方式是在xml标记值中有一个加密的字符串,然后在读取它们时解密,这样就不会暴露密码。

appsettings配置文件,ini文件(nini),嵌入式数据库(sqlite,berkelydb / etc ..),无论你喜欢什么方法,都取决于你的应用程序大小/性能考虑和设计。