2009-06-29 84 views
13

有人可以向我解释App.Config文件中AppSettings和ApplicationSettings部分之间的区别。为什么有两个不同的部分显然是做同样的事情?ApplicationSettings部分和AppSettings部分之间的区别是什么?

+0

你在哪里看到“应用程序设置”?我不相信这是一个有效的配置部分。你可以发表一个例子吗? – alanquillin 2009-06-29 15:15:57

+1

对不起,我的意思是ApplicationSettings,而不是应用程序设置 – Calanus 2009-06-29 15:16:58

回答

18

我相信<appsettings/>收集您的app.config/web.config文件允许你存储在键值对的设置,并通过System.Configuration API访问,具体如下:

string setting = System.Configuration.ConfigurationManager.AppSettings["settingName"];

设置只能作为字符串值存储和检索。
也可以通过System.Configuration.ConfigurationSettings访问它们,但这种方式已被弃用。

配置文件中的<ApplicationSettings/>集合以强类型的方式存储您的设置,并且还允许您以强类型的方式访问这些设置。 VS自动为您生成包装类,在settings.settings文件属性您的项目文件夹。要将设置文件添加到项目中,请右键单击您的项目,然后单击属性,然后打开设置选项卡。然后点击链接添加一个新的设置文件。 VS会自动为你生成一个。这很简单。

您通常访问您的设置如下:在两个集合是如何访问

MyProjectName.Properties.Settings.Default.SettingName

注意到其中的差别。

第二种(未弃用的)存储设置方式是更好的方式,它提供了很多灵活性和强大功能。这需要一些学习 - 但这是值得的。

0

这与我们都喜欢的向后兼容性有关。 ApplicationSettings是较新的构造。

用户较新的ConfigurationManager和WebConfigurationManager类来获取您的设置,并做到这一点,你需要一个引用,所以System.configuration而不是System.Configuration :)。

有一次,它开始变得有点傻了。

相关问题