在web.config或数据库中存储配置设置

时间:2010-02-15 15:42:19

标签: asp.net web-config

存储网站模块的各种配置设置的最佳位置。

创建映射web.config文件中设置的类(继承ConfigurationSection)?
或者创建一些与数据库一起使用的DAL和BLL分支?

5 个答案:

答案 0 :(得分:7)

我使用了一个简单的启发式方法将每个配置变量分类为四个类别之一:

  1. 编译时间配置(与代码更改一起完成的更改) - 如果可能,然后在代码或程序集内部(作为嵌入式资源),否则在web.config中
  2. 特定于服务器实例的配置(SQL连接字符串,本地文件路径) - 在web.config
  3. 应用程序(数据库)配置(功能选择和其他很少变化的全局应用程序设置,如果有的话) - 在数据库中但没有UI
  4. 应用程序配置 - 在数据库中,可通过管理UI访问

答案 1 :(得分:5)

将配置设置存储在Web.config中会产生这样的效果:如果修改web.config文件,您的应用程序将重新启动,新设置将立即生效。 如果您在多台计算机上运行该应用程序,则需要更新每台计算机。

如果将配置设置存储在数据库中,则需要手动重新启动Web应用程序或使用某个功能(例如管理页面/站点)以允许应用程序重新读取设置。

答案 2 :(得分:3)

要真正回答这个问题:

基本信息必须本地存储在web.config(连接字符串等)中

除此之外,其他信息可以存储在任何一个位置。

将它放在数据库中意味着编写管理页面来控制信息比直接编辑web.config文件更容易。

事情经常发生变化?如果设置是一次性的事情,那么拥有管理页面会有点过分,但如果有持续的变化(添加新用户,类别等),那么他们可能是个好主意。

对于数据库中的数据,您可以在系统上执行远程管理

因此,如果没有关于您的申请的更多信息,我无法提出建议。

答案 3 :(得分:0)

在大多数情况下,每个页面上的每个模块都有单独的设置。因此,您必须将它们保存在数据库中。

答案 4 :(得分:0)

构建配置部分。它很直接,适合您的需求。