App.Config与自定义XML文件

时间:2009-10-14 12:18:24

标签: app-config application-settings

我已经阅读了很多语句,例如“你不应该用自定义设置阻塞你的app.config文件”。但是,我的印象是这正是文件的目的吗?

这确实是一种偏好吗?或者通过使用与app.config文件相关的自定义XML文件,是否有任何真正的好处(除了设置分离)?如果您需要明确区分设置,最好使用自定义ConfigurationSection而不是选择自定义XML文件吗?

我想在此提出其他人的想法。

5 个答案:

答案 0 :(得分:5)

看看Application Settings Architecture,app.config是关于应用程序的Configration,虽然这是一个很通用的术语。所以我建议你查看应用程序设置文件。

我不会在app.config中存储“在启动时加载数据库”等设置。我宁愿使用像应用程序设置这样的替代存储,也不要将应用程序配置与设置混淆,即使您可能想要这样做,也不要。 app.config应该有关于数据库连接,成员资格提供程序或任何其他应用程序批评信息等较低级别内容的配置。

答案 1 :(得分:5)

根据我的拙见,有些人倾向于在自定义配置部分处理程序上有点过分。

我倾向于只在我需要一些非常结构的东西时使用它们;这是由第三方使用/写的(即我想对其进行一些额外的验证)。

我认为您可以非常高兴地将app.config / web.config用于所有相关设置,并且当非常清楚它是应用程序的单独组件时,可以使用单独的XML文件。

答案 2 :(得分:2)

大多数设置往往属于三个阵营中的一个:

  1. 影响代码内部行为的技术设置,例如数据库连接字符串,数据文件路径,日志记录开关,错误处理开关等
  2. 影响产品业务逻辑的业务设置,例如“是否允许用户访问CRM模块?”
  3. 用户特定的个人资料值,例如“这个用户是否可以访问CRM模块?”。
  4. 类型1的自然位置在app.configweb.config中,类型2和3的自然位置在数据库中。

答案 3 :(得分:1)

App.Config适用于特定于应用程序的配置:数据库路径就是一个很好的例子。剩下的就应该了。

您可能想要做的一件事是创建特定于用户的文件,然后您可以使用将保存到IsolatedStore中的自定义xml。

答案 4 :(得分:1)

在我看来,我认为app.config适用于部署时设置,例如数据库的位置,或IP地址或关键数据文件的位置等。用户设置如字体,颜色,行为首选项应该进入一个不同的文件,您可以使用Xml序列化轻松创建和保存。