DotNET应用程序设置的使用小结
朱二(2008.11 转载请注明作者)
最近在开发一个.NET项目的时,需要在客户端软件中保存用户的一些设置,比如是否在登录框中保存上次登录名等信息,就用到了.NET中的应用程序设置功能,在使用中有一些心得,在这里和大家分享一下,如有不妥之处也请大家严厉指出。
一、应用程序设置是 Microsoft Visual Studio 2005 新功能,按范围可分为两种:应用程序设置和用户设置。设置信息的名称和初始值可以在应用程序的项目属性的“设置”栏中进行设置。设置完毕后VS会在项目中生成Settings类,每个设置的名称均是这个类的一个属性。
下图中HomePage是用户级的设置,Author是应用程序级的设置。
下图中是生成的Settings类
二、所有设置的初始值都保存在应用程序生成的可执行程序集中,应用程序的设置值是只读的,在程序运行过程中不能修改;而用户的设置值是可以修改的,修改后的值保存在当前登录到Windows的用户的特殊文件中,文件名是user.config,特殊文件夹有两种:
1、LocalApplicationData(目录,它用作当前非漫游用户使用的应用程序特定数据的公共储存库。)
2、ApplicationData 目录,它用作当前漫游用户的应用程序特定数据的公共储存库。 漫游用户在网络上的多台计算机上工作。漫游用户的配置文件保存在网络服务器上,当用户登录到某个系统上时,它会加载到该系统。
以上这两个文件夹都可以通过Environment.GetFolderPath方法获取。
举个具体例子:
C:/Documents and Settings/Admin/Local Settings/Application Data/Microsoft/test.exe_Url_3ypvtlafqkef0gkp1kl5i2idjssaxajb/1.0.0.0/user.config
其中
“C:/Documents and Settings/Admin/Local Settings/Application Data”是LocalApplicationData特殊文件夹
“Microsoft”程序集的厂商名称
“Admin”是当前Windows用户名
“test.exe”是程序集友好名称
“1.0.0.0”是程序集版本
“user.config”是存储用户配置信息的文件,该文件举例如下:
“Url_3ypvtlafqkef0gkp1kl5i2idjssaxajb”该字符串是将程序集的厂商信息、版本信息、绝对路径进行哈希计算,得到的唯一值,可避免不同的程序生成相同的文件路径。
user.config的内容举例如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<userSettings>
<WindowsApplication1s.Properties.Settings>
<setting name="HomePage" serializeAs="String">
<value>http://www.biyan365.cn</value>
</setting>
</WindowsApplication1s.Properties.Settings>
</userSettings>
</configuration>
三、配置类使用简介
在VB.NET中,可使用My.Settings 对象访问,比如My.Settings.HomePage="http://www.biyan365.cn",保存修改使用My.Settings.Save()即可。
在C#中,可创建Settings 类的实例进行访问
Settings MySettings = new Settings();
MySettings.HomePage="http://www.biyan365.cn";
MySettings.Save();
本文总结了.NET应用程序设置的使用,包括应用程序设置和用户设置的区分,以及如何在VB.NET和C#中访问和修改设置。用户设置的修改保存在user.config文件中,位于LocalApplicationData或ApplicationData目录下。在VB.NET中可以使用My.Settings访问,C#中则通过Settings类实例操作。
1万+

被折叠的 条评论
为什么被折叠?



