首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AppSettings与applicationSettings (.NET app.config / Web.config)的优缺点

AppSettings与applicationSettings (.NET app.config / Web.config)的优缺点
EN

Stack Overflow用户
提问于 2009-01-20 11:38:38
回答 3查看 100.8K关注 0票数 172

在开发.NET Windows Forms应用程序时,我们可以选择这些App.config标记来存储我们的配置值。哪一个更好?

代码语言:javascript
复制
<configuration>

  <!-- Choice 1 -->
  <appSettings>
    <add key="RequestTimeoutInMilliseconds" value="10000"/>
  </appSettings>

  <!-- Choice 2 -->
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5612342342" >
        <section name="Project1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5612342342" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <Project1.Properties.Settings>
      <setting name="TABLEA" serializeAs="String">
        <value>TABLEA</value>
      </setting>
    </Project1.Properties.Settings>
  </applicationSettings>

</configuration>
EN

回答 3

Stack Overflow用户

发布于 2009-01-20 13:42:30

可以从设计器控制应用程序设置(默认情况下通常有一个Settings.settings文件),因此更易于修改,并且您可以通过设置类以编程方式访问它们,在该类中,它们看起来像一个强类型属性。您还可以设置应用程序和用户级别设置,以及用于回滚的默认设置。

这是从.NET 2.0开始提供的,并且不推荐使用另一种方式(据我所知)。

更多细节请访问:msdn.microsoft.com/en-us/library/k4s6c3a0.aspx

票数 20
EN

Stack Overflow用户

发布于 2009-06-08 06:52:05

我喜欢使用更简单的版本来存储和访问单个值。

代码语言:javascript
复制
<appSettings>
    <add key="MyConfigKey" value="true"/>
</appSettings>

我编写了一个实用程序类,以便以允许默认值的类型安全方式访问值。如果未提供默认值,则会给出有用的异常消息。

您可以在此处查看/下载该类:

http://www.drewnoakes.com/code/util/app-settings-util/

票数 9
EN

Stack Overflow用户

发布于 2021-02-16 04:26:44

使用ApplicationSettings的一大好处是当应用程序通过ClickOnce部署时,如this page中详细说明的那样。

基本上,如果设置的类型是User,并且已经从其缺省值进行了修改,则它将在每次更新时保持修改状态。如果设置的类型为Application,则在更新应用程序时将自动覆盖该设置。

此外,在VB.NET中,只需使用My.Settings即可访问ApplicationSettings。从GUI的角度来看,它是可用的最简单的设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/460935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档