Web App配置设置 - 最佳实践

Rob*_*Rob 4 c# asp.net configuration

我最近参与了修补Web应用程序项目,并注意到之前的开发人员使用数据库表进行配置设置而不是web.config(app.settings).

我应该使用哪个?web.config或数据库表?哪个最好?

Joh*_*sen 7

在以下情况下,应该进入web.config:

  • 它们是必须可用于使数据库可用的东西(数据库连接字符串!)

  • 如果它们应该更改,那么您希望应用程序池刷新,或者几乎不可能更改.

  • 当数据库因任何原因不可用时(例如电子邮件地址列表和用于向其发送错误消息的smtp服务器或日志文件所属的位置),它们是需要可用的东西

在以下情况下,事情应该进入数据库:

  • 您的数据库和Web层都使用该配置.

  • 您需要能够动态更改配置,而无需强制刷新应用程序池.

也就是说 - 如果您要将配置放在数据库中,您可能希望以某种方式将其缓存在Web层中,这样您就不会不必要地访问数据库.我建议使用Cache类.

除上述所有内容外,您还需要考虑贵公司的服务器策略.如果您非常非常难以使用db,那么将内容放入web.config可能更有意义,反之亦然.