我已经阅读了很多诸如“您不应该使用自定义设置阻塞您的 app.config 文件”之类的声明。但是,我的印象是这正是文件的目的?
这真的只是一种偏好吗?或者通过使用与 app.config 文件相对的自定义 XML 文件是否有任何真正的好处(除了设置的分离)?如果您需要明确分离设置,使用自定义ConfigurationSection
而不是选择自定义 XML 文件会更好吗?
我想在这里谈谈其他人对此的看法。
我已经阅读了很多诸如“您不应该使用自定义设置阻塞您的 app.config 文件”之类的声明。但是,我的印象是这正是文件的目的?
这真的只是一种偏好吗?或者通过使用与 app.config 文件相对的自定义 XML 文件是否有任何真正的好处(除了设置的分离)?如果您需要明确分离设置,使用自定义ConfigurationSection
而不是选择自定义 XML 文件会更好吗?
我想在这里谈谈其他人对此的看法。
看看Application Settings Architecture, app.config 是关于应用程序的配置,虽然这是一个相当笼统的术语.. 所以我建议你查看应用程序设置文件。
我不会在 app.config 中存储诸如“是否在启动时加载数据库”之类的设置。我宁愿为此使用诸如应用程序设置之类的替代存储,不要将应用程序配置与设置混淆,即使您可能想要这样做,也不要。app.config 应该对较低级别的事物进行配置,例如数据库连接、成员资格提供程序或任何其他应用程序批评信息。
以我的拙见,有些人倾向于在自定义配置部分处理程序上有点过火。
我倾向于仅在需要非常有条理的东西时才使用它们;那是由第 3 方使用/编写的(即我想对其进行一些奢侈的验证)。
我认为您可以很高兴地将 app.config/web.config 用于所有相关设置,并在很明显是应用程序的单独组件时使用单独的 XML 文件。
大多数设置往往属于以下三个阵营之一:
类型 1 的自然位置在app.config
orweb.config
中,类型 2 和 3 的自然位置在数据库中。
App.Config 适用于特定于应用程序的配置:数据库路径就是一个很好的例子。其余的应该没有。
您可能想要做的一件事是创建特定于用户的文件,然后您可以使用将保存到独立存储中的自定义 xml。
在我看来,我认为 app.config 适合部署时设置,例如数据库的位置、IP 地址或关键数据文件的位置等。字体、颜色、行为偏好等用户设置应该放在您可以使用 Xml 序列化轻松创建和保存不同的文件。