使用wwAppConfiguration类库来轻松读写应用程序配置信息

源代码按此下载,这个版本是以前从他的网站上down下来的,后来的版本1.2是收费的了,建议慎用! 2004-12-17

  在开发一个应用程序时,不论是C/S还是B/S,都需要将一些配置信息读到系统中,随时用户又可能更改了这些配置信息,然后又存回到配置文件中,以前Windows使用INI文件来管理这些配置信息,但现在到了XML时代,配置信息也要用XML,.NET中提供了ConfigurationSettings类来完成此工作,但功能简单,Building a better .NET Application Configuration Settings Class,该文中提出一套优秀的类库,完成了配置信息的读取、修改、保存、敏感内容的加解密等,而且使用了反射机制,非常重要的一点是实现这些功能,代码写起来很简单,强烈推荐有此需求的同好们一试。下面把我的使用过程简单描述一下,以下是以开发WinForm程序来讲的,原作者网站上有关于ASP.NET上使用此类库的说明:
  从网站上下载源代码,包内有一个.NET工程,关键是三个cs程序,wwAppConfiguration.cs,wwEncrypt.cs和wwUtils.cs。重点需要理解的是wwAppConfiguration类,是一个抽象类,你需要继承此类,就用MyConfig吧,把你需要读写的变量声明在其中就行了,当然,你也可以使用properties,只要public就行,代码如下:

public class MyConfig : wwAppConfiguration 

    
public string MyKey = "My Value"
}

简单,对,就是这样简单,为了程序的效率,你不用重复多次new MyConfig(),只需一次就行了,所以建一个App类,将Config声明为静态变量,同时写一个static初始化块(在JAVA中语法是static {...},在C#中不小心会认为是一个构造函数),注意Config.ReadKeysFromConfig(“myconfig.xml”)一行,如果省略此行,就是用默认的xml文件了,例如:对于myprog.exe程序,配置文件就是myprog.exe.xml,此xml文件在Visual Studio 2003开发环境\bin\debug目录中会被自动删除,对于调试不太方便,所以最好指定一个xml文件。

public class App 

    
public static MyConfig Config; 
 
    
static App() 
    { 
        Config 
= new MyConfig(); 
        Config.ReadKeysFromConfig(
"myconfig.xml"); 
    } 
}


  最后就是读写配置信息了,非常简单,读配置参数值的代码如下: 

string myvalue = App.Config.MyKey;

这里用的是string类型,由于它的类库中使用的是反射机制,所以对于int等类型,写法也是类似,不需要大量的Convert了,非常方便!!!写配置信息如下:

App.Config.MyKey = myvalue;

最后,你一般需要将所有的配置信息存回到原来的xml文件中,如下:

App.Config.WriteKeysToConfig("myconfig.xml"); 

完毕。对于一些重要的内容,如用户名,密码,数据库连接串等不希望用明文,可以使用加密存储,我还没研究,以后再写吧。



----==== Email: slofslb (GTD) qq.com 请将(GTD)换成@ ====----
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
作者:申龙斌的程序人生

---- 魔方桥牌象棋、游戏人生...
---- BASIC、C++、JAVA、C#HaskellObjective-COpen Inventor、程序人生...
---- GTD伴我实现人生目标
---- 区块链生存训练
---- 用欧拉计划学Rust编程
---- 申龙斌的读书笔记(2011-2019)
----
原文地址:https://www.cnblogs.com/speeding/p/ReadWriteXmlConfig.html