什么是保存/加载设置的简单方法?如果每个用户都有自己的一组设置,我会更喜欢它。
5 回答
这在很大程度上取决于应用程序的类型。
如果这是一个桌面应用程序,您可以将信息保存到用户区域的注册表中。或者进入他们在磁盘上的用户目录。如果这是一个 Web 或服务器应用程序,您需要将其存储到由用户键入的数据库中,或者存储到为每个用户命名的磁盘文件中。
既然您提到了选项,似乎客户端路径更有可能。
ConfigurationManager 运行良好(桌面应用程序)。本质上,您正在使用 app.config xml 文件来保存设置。对于大多数基本用途,只需编辑 app.config。为您要保存的每个设置添加一个键值对...然后访问它,只需执行 ConfigurationManager.get..["yourKey"] 它将返回设置。设置它几乎相同。
在 .Net 应用程序中,使用 Visual Studio 中的内置设置选项创建这样的设置 - 值保存在配置文件中,但 VS 为您提供了一个很好的界面来创建它们和一个 .Net 类以强类型方式访问它们. 您可以通过这种方式创建用户特定设置或应用特定设置。
要创建设置文件,请双击“属性”文件夹,然后选择“设置”选项卡,然后单击链接以创建“settings.settings”文件(是的,好名字!)。完成此操作后,您将看到存储在 app.config 中的实际设置,以及用于获取这些设置的自动生成代码位于 Settings.designer.cs 中。
当您说“每个用户都有自己的一组设置”时,您是指同事通过网络共享的应用程序还是共享计算机上的应用程序?
就个人而言,我会选择设置文件路线。您可以使用注册表,但这让我很怀疑。Windows 中有一些地方(假设您在 Windows 上)可以将用户数据永久存储一天,您需要做的就是写信给它们。如果你在 Vista 上,写入注册表可能不是一个选项,除非你想 UAC 提示你的用户。
如果您的应用程序已经使用某种 SQL 后端,请使用它。制作一个设置表或一个键/值包并将其存储在那里。将其序列化为对象,反之亦然,您应该拥有一个版本 1 的设置管理器。
查看ConfigurationManager和SpecialFolders,这应该可以帮助您入门。