web.Config与数据库设置表

时间:2011-01-09 13:22:19

标签: asp.net architecture settings

当你拥有多个应用程序,Web服务和Windows服务的系统时,这是更好的选择吗?

选项1)将所有设置放在数据库表中并将其缓存到某个地方,可能您必须使用Web服务跨应用程序共享缓存对象。然后,您可以在网格中查看其中一些设置以供用户操作。

选项2)将所有设置放在一个公共配置文件中,让每个应用程序的web.config或app.config指向该文件,我确信有一种方法可以将这些设置放在网格中,但可能你将失去“根据角色显示设置”的能力。

谢谢

3 个答案:

答案 0 :(得分:3)

很多情况归结为偏好,您正在谈论的设置,何时需要访问设置,以及它们改变的频率。

一般来说,我会尝试保留我的web.config& app.config很小。基础设施的设置(例如,要加载的模块,连接串,日志设置,ORM设置等)都在那里。基本上,我真正需要或想要在App_start或我的Main()方法中访问的任何内容。

任何更复杂的,或者适用于较少应用程序等的东西,我通常不会放入配置文件,而是要么通过我的IoC容器注入设置对象,要么从数据库中提取它们

答案 1 :(得分:1)

我更喜欢选项1,因为它使部署更容易,因为每个环境可以有不同的配置,但你仍然可以进行xcopy部署,因为设置没有存储在web.config中。

答案 2 :(得分:0)

我建议将配置放在数据库中,然后根据应用程序检索它。您还可以编写包含不同配置的单个XML并将其加载到数据网格等上。这样,配置管理变得更加容易,因为您只需维护一个文件。