我应该何时将配置数据存储在数据库中而不是我的web.config中?

时间:2012-01-11 14:28:54

标签: .net configuration

通常,我会将所有应用程序配置数据存储在web / app.config和关联的xml配置文件中。但我想这可能不一定是处理所有配置数据的最佳方式。

是否有任何关于何时使用其中一种可能更实际的建议?

3 个答案:

答案 0 :(得分:4)

我没有明确的规则,但我的“经验法则”是仅在本地存储运行程序的计算机所特有的配置,并将所有共享配置数据存储在数据库中。 / p>

我们开发了一个小型库,用于在数据库中存储和编辑/版本化我们的配置。我们还为每个应用程序设计了一个具有单独区域的共享配置存储,并能够在多个应用程序中重用配置条目。我们在数据库中存储高级配置条目,例如规则,查询定义等。

特定于位置的配置(例如插件程序集的位置,基于DB的配置库的连接字符串,日志记录设置等)将进入“常规”web / app.config文件。这使我们可以保持本地配置与共享配置的相对清晰的分离。

答案 1 :(得分:3)

如果配置包含敏感数据,并且需要具有另一层安全性(即RDBMS安全性),则将配置存储在数据库中。相反,如果客户端管理员需要轻松快速的访问,并且不希望使用UPDATE命令破解数据库,那么将配置保存在配置文件中是明智的。

答案 2 :(得分:0)

如果您希望能够在不重新启动网站的情况下更改配置值,请将它们存储在数据库中。但这增加了一层copmlexity,大多数开发人员在寻找配置值时,不会首先找到它们。至少在我的商店中,标准是将所有可能在web.config文件中更改的值放入,并在必要时加密它们(第三方服务,数据库等的凭据)如果有人要将配置值放入数据库,开发人员,在第一次潜入代码时,会花一些时间寻找配置值的存储位置(但这只是一次性的事情,但仍然是一种麻烦)。