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

lup*_*ppi 8 asp.net web-config

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

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

Pen*_*puu 7

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

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


Rud*_*udi 5

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

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