|
WWW.DBIT.CN 2007-11-23 9:15:50 热度: |
|
|
fileOut.Close(); } private static string GetBaseDirectory() { return System.AppDomain.CurrentDomain.BaseDirectory; } #endregion } } 这样我们在站点根目录下面建立一个名为"GBSettings.config"的配置文件就可以对它进行读写操作了.
它里面的内容:
Http://Localhost/ GBWeb/ 20 200 default 大家注意到这里面的字段和我们建立的类里面的公开属性是一一对应的, 因此如果需要增加新的可配置项目只要添加相关的公开属性即可,其它的公共代码部分就不用动了, 这个配置文件类使用单例模式一次性加载文件,在访问速度上是足够快了.并且在配置文件修改的时候不会引起应用程序的重起,只需要调用Save()方法即可生效, 真是非常方便呀.
还没有完?对,还有一个问题,这样的代码是可测试的吗,当然, 这里以NUnit为例,在测试时只需要将配置文件拷贝至测试工程的根目录,注意这里的生成选项使用复制到输出目录,在文件较新时复制. 当然,web.cofig也要拷贝至测试工程根目录下面并改名为 测试工程名称.dll.config 就可以了. 测试代码如下:
[Test] public void ConfigFileTest() { SiteSettings.Instance.Theme = "default"; Assert.IsTrue(SiteSettings.Instance.Theme.Equals("default", StringComparison.InvariantCultureIgnoreCase)); SiteSettings.Instance.Theme = "blue"; SiteSettings.Save(); Assert.IsTrue(SiteSettings.Instance.Theme.Equals("blue", StringComparison.InvariantCultureIgnoreCase)); }在NUnit中可以看到测试已经通过.
|
|
|
|
|
|
|
|
|
|