web.Config 与数据库设置表
Posted
技术标签:
【中文标题】web.Config 与数据库设置表【英文标题】:web.Config vs Database Settings table 【发布时间】:2011-06-06 01:47:59 【问题描述】:当您拥有一个包含多个应用程序、Web 服务和 Windows 服务的系统时,哪个更好?
选项 1) 将所有设置放在数据库表中并将其缓存在某处,可能您将不得不使用 Web 服务在应用程序之间共享缓存对象。然后,您可以在网格中查看其中一些设置以供用户操作。
选项 2) 将所有设置放在一个通用配置文件中,并让每个应用程序的 web.config 或 app.config 指向该文件,我相信有一种方法可以将这些设置放在一个网格中,但可能你将失去“根据角色显示设置”的能力。
谢谢
【问题讨论】:
【参考方案1】:这在很大程度上取决于偏好、您所谈论的设置、您何时需要访问这些设置以及它们的更改频率。
一般来说,我尽量保持我的 web.config 和 app.config 很小。基础设施的设置(例如要加载的模块、连接字符串、日志设置、ORM 设置等)进入那里。基本上,我真正需要或想要在 App_start 或 Main() 方法中访问的任何内容。
任何更复杂的东西,或者适用于较少应用程序的东西,等等,我通常不会放入配置文件,而是有我通过 IoC 容器注入的设置对象,或者从数据库中提取它们.
【讨论】:
【参考方案2】:我建议将配置放入数据库,然后根据应用程序检索它。您还可以编写包含不同配置的单个 XML 并将其加载到数据网格等上。这种方式的配置管理变得更容易,因为您需要维护一个文件。
【讨论】:
【参考方案3】:我更喜欢选项 1,因为它使部署更容易,因为每个环境可以有不同的配置,但您仍然可以进行 xcopy 部署,因为设置不存储在 web.config 中。
【讨论】:
以上是关于web.Config 与数据库设置表的主要内容,如果未能解决你的问题,请参考以下文章