2.8.2 外部文件方式
另一个常见的选项是把这些设置存储在一个外部文件中,用户把这个外部文件保存在本地。在web.config中使用适当的引用来包含这些文件(稍后讨论)。在Visual Studio 2005之前,这些文件可以存储在网站文件夹中。但如果在Visual Studio 2005中这么做,文件就会进入源代码控制,达不到让团队成员建立自己的设置的目的。为了避免这种情况,文件可以存储在父目录下。把一组范例文件存储在主控项目中,让团队成员复制它们,通常是一个好办法。在接纳新的团队成员或重新设置环境时,这种方式尤其有效。
在引用文件以包含它们时,appSettings部分的处理与connectionStrings部分略有不同。下面的示例演示了如何指定包含父目录下的文件localhost.config:
<appSettings file="..\localhost.config">
查看localhost.config文件的内容,会发现它与appSettings部分很类似,如下所示:
<appSettings>
<add key="DefaultDaysLate" value="7" />
</appSettings>
这里给文件选择localhost.config这个名称,但该名称可以是任意名称。
connectionStrings部分的包含略有不同。它不是使用file特性指定文件名,而是使用configSource特性,如下所示:
<connectionStrings configSource="..\localhostConnectionStrings.config"/>
查看localhostConnectionStrings.config的内容,如下所示:
<connectionStrings >
<add name="MyDB" connectionString="server=myServer;uid=myuser;
password=***;database=MyDB" />
</connectionStrings>
这里只介绍这两个方法,显然,管理项目设置有许多方式。这些方式各有优缺点。例如,让所有的团队成员共享相同的注册文件(这是默认的),可以确保所有的成员都得到最新设置。也就是说,一个成员修改了设置,但没有告诉其他人的情况是很常见的。这个问题也常常倒过来:每个成员都有自己的本地副本,但他们可能都不知道另一个团队成员修改了某个重要的设置。正如生活中的许多事情一样,必须确定哪种方式最适合于项目,并完成它们。







