WEB开发网
开发学院软件开发C语言 Effective C# 原则37:使用标准的配置机制 阅读

Effective C# 原则37:使用标准的配置机制

 2009-02-19 08:15:49 来源:WEB开发网   
核心提示: [ Serializable( ) ]public struct GlobalSettings{// Add public properties to store.}XML序列化来存储你的设置:XmlSerializer ser = new XmlSerializer(typeof( Gl

[ Serializable( ) ]
public struct GlobalSettings
{
 // Add public properties to store.
}

XML序列化来存储你的设置:

XmlSerializer ser = new XmlSerializer(
 typeof( GlobalSettings ));
TextWriter wr = new StreamWriter( "data.xml" );
ser.Serialize( wr, myGlobalSettings );
wr.Close( );

使用XML格式就意味着你的设置可以很容易的阅读,很容易的解析,以及很容易的去调试。如果须要,你可以对这些用户设置进行加密存储。这只是一个使用XML序列化的例子,不是对象持久序列化(参见原则25)。XML序列化存储文件,不是整个对象树。配置设置以及用户设置一般不会包含网状对象,而且XML序列化是一个简单的文件格式。

最后一个问题就是,应该在哪里存储这些信息。你应该在三个不同的地方放置配置信息文件。选择哪一个要根据配置的使用情况:全局,单用户,或者单用户且单机器。这三个位置可以通过调用System.Environment.GetFolderPath() 而取得。你应该在GetFolderPath()返回的路径后添加上应用程序的详细目录。请格外小心的在所有用户或者机器范围上填写信息。这样做要在目标机器是取得一些特权。

Environment.SpecialFolder.CommonApplicationData返回存储信息的目录,这一目录是被机器上的所有用户所共享的。如果在一台机上使用的是默认安装,GetFolderPath(SpecialFolder.CommonApplicationData)会返回 C:Documents and SettingsAll UsersApplication Data。存储在这一目录的的设置应该是被机器上的所有用户所使用的。当你要在这里创建信息时,让安装程序给你做或者以管理员模式进行。不应该在这里写一些用户级(译注:users级是windows里的一个用户组,权利比管理员小。)的程序数据。偶然可能会让你的应用程序在用户机上没有足够的权限来访问。

上一页  1 2 3 4  下一页

Tags:Effective 原则 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接