一个应用程序,从登入窗体开始,其连接服务器数据库的配置信息存在特定的文件中。c#自带的appconfig与webconfig我没用过,自己感觉用这些文件有一定的局限性,必须遵从特定的编写方法才能使用,而且有时自己想要的功能没法实现。
而如果自己定义一个文件,如.xml。可以使用XML语法写入任意内容(如连接数据库信息,软件初始化数据等)。
我想问的第一个问题是,大多数大小型软件,企业ERP或QQ软件、金蝶等。他们记录这些系统配置信息使用的是哪种方法?主要是可以灵活修改配置文件,不像一些简单程序那样,定死配置程序。会使用哪些更好的方法?
第二个问题:如,使用.xml文件来当软件配置文件的话,涉及到数据库登入信息时,其数据必须经过加密/解密操作。个人理解:当写入配置信息后,进行加密操作,保存文件。当读取配置信息时,先进行解密,然后读取内容。
问题就在这里:读取信息时,先进行解密。看了网上一此对XML文件加密解密的文献。不管加密解密,都要对文件进行一定保存操作。那读取配置信息进行解密后,文件被保存。这时打开该文件,就可以看到加密的信息了。这就不安全了。那是不是在读取文件后,会再一次进行加密操作?还是解密后直接读取信息,并不保存文件?那读取配置信息的操作是怎样的?
第三个问题:在软件中,操作数据库是很平常的事情,那是不是每次操作数据库时,都要从配置文件读取配置信息,进而连接数据库?还是说在第一次登入窗体的时候,就把这些配置信息保存进程序的全局访问常量中?感觉这样不安全么!
本人想了解下编程的思路,菜鸟一个,还请高手指点。
对于配置文件,你可以通过模块来划分,每个独立的模块使用一个配置文件,这样在管理上更清晰,对于读取和加密的方式可以通过缓存和密钥来实现。
对于提高配置文件的可读性上,我们可以通过建立实体类进行实现,更多配置文件的知识可以参考我的博文
第二个问题,你的操作是内存中进行的,加密之后才写入文件
解密只是读取而已
一般 都是保存在 appconfig与webconfig中的。
对于文件的解密,你只需要在程序中实现就i好了,没有 必要 再写入一个文本文件。