Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 什么时候应该在数据库中存储配置数据而不是web.config?_.net_Configuration - Fatal编程技术网

.net 什么时候应该在数据库中存储配置数据而不是web.config?

.net 什么时候应该在数据库中存储配置数据而不是web.config?,.net,configuration,.net,Configuration,通常,我会将所有应用程序配置数据存储在web/app.config和相关的xml配置文件中。但我想,也许这不一定是处理所有配置数据的最佳方式 关于何时使用一种或另一种可能更实际,是否有任何建议?如果配置包含敏感数据,并且需要另一层安全性(即RDBMS安全性),则将配置存储在数据库中。相反,如果客户端管理员需要方便快捷的访问,并且不希望使用UPDATE命令攻击数据库,那么最好将配置保存在配置文件中。如果您希望能够在不重新启动网站的情况下更改配置值,请将它们存储在数据库中。但这增加了一层共模性,大多

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


关于何时使用一种或另一种可能更实际,是否有任何建议?

如果配置包含敏感数据,并且需要另一层安全性(即RDBMS安全性),则将配置存储在数据库中。相反,如果客户端管理员需要方便快捷的访问,并且不希望使用
UPDATE
命令攻击数据库,那么最好将配置保存在配置文件中。

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

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

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


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

如果数据被认为是敏感的,也可以对配置进行加密。它不是不可渗透的,但db安全性也不是。(+1 btw)