有人可以向我解释App.Config文件中AppSettings和ApplicationSettings部分之间的区别。为什么有两个不同的部分显然做同样的事情?
答案 0 :(得分:20)
我相信app.config / web.config中的<appsettings/>
集合允许您将设置存储在键值对中,并通过System.Configuration API进行访问,如下所示:
string setting = System.Configuration.ConfigurationManager.AppSettings["settingName"];
设置只能作为字符串值存储和检索 它们也可以通过System.Configuration.ConfigurationSettings访问,但这种方式已被弃用。
配置文件中的<ApplicationSettings/>
集合以强类型方式存储您的设置,并且还允许您以强类型方式访问这些设置。 VS会在项目的属性文件夹中的 settings.settings 文件中自动为您生成包装类。要将设置文件添加到项目中,请右键单击项目,然后单击属性,然后打开设置选项卡。然后单击链接以添加新的设置文件。 VS会自动为您生成一个。就这么简单。
您通常按如下方式访问您的设置:
MyProjectName.Properties.Settings.Default.SettingName
请注意访问两个集合的方式不同。
存储设置的第二种(非弃用)方式是更好的方法,并提供了很大的灵活性和功能。虽然需要一些学习 - 但值得努力。
答案 1 :(得分:2)
http://kevinskorner.net/blog/post/2008/03/27/applicationSettings-vs-appSettings.aspx
应用程序设置为我们提供了更多 控制,最重要的, intelliscence。
答案 2 :(得分:0)
这与我们都喜欢的向后兼容性有关。 ApplicationSettings是较新的构造。
使用较新的ConfigurationManager和WebConfigurationManager类来获取您的设置并执行此操作,您需要一个参考,因此System.configuration而不是System.Configuration:)。
有一次它开始有点傻了没有它。