转:http://www.cnblogs.com/ASPNET2008/archive/2010/05/04/1727538.html
最近赶上公司重构网站,架构组的同事为提高web部门的开发效率,总结出了一些不错的经验,本人也是直接受益者,为此用下面几篇文章来与大家分享。
这一篇,我想讨论的是网站配置文件问题。说到配置文件,我第一印象就是它的灵活性,传统的做法就是在web.config中写配置,然后在.net中可以通过ConfigurationManager .AppSettings 方法读取。最大的好处就是本机测试环境和正式上线的环境可以采用不同的配置。最常见的要数数据库连接串。
web.config中写配置的缺点:
1:每次修改配置文件都需要重启IIS。
更正:谢谢@心太@生鱼片的提醒,修改配置文件不会重启IIS,但对应的站点会重启。
2:所有的配置都写在一个文件中,不方便查阅及修改。
3:修改web.config有非常大的风险,往往一个小地方配置出错,就会导致全站无法访问。
之前我写过一篇关于如何把配置文件写在独立文件中的文章(如何分割web.config)。那篇文章只是提到了如何分解配置文件,但有的项目配置项往往会特别多,这样即使文件从web.config中分离出来了,但查询的修改的缺点还是没有解决。为此我们可以根据网站的功能点来分解配置文件。
从环境概念上分解web.config:有些配置文件在上线时是需要修改的,例如数据库连接串等,有些配置文件可以跟应用程序一样,直接复制过去就行。这里先贴下网站对于web.config的分解图:
第一:网页各自的meta参数配置。每个页面都有自己的标题,meta,这些就是为了增加用户体验以及seo。如果每个页面都去写这样的代码,我想程序员都不喜欢做这种无聊的事,这里我们可以创建一个ChannelPageConfig.config。每个节点包含了页面的title,meta等信息。