2011-03-22 45 views
1

任何人都可以提供在何处存储为一个C#Windows应用程序的用户偏好的最佳实践的例子吗?在哪里存储用户偏好设置的C#Windows应用程序

到目前为止,我已经听到了一些选项:

  • 有些人说,将其存储在 SQLite的。 SQLite是否与.NET 2.0捆绑在一起,并立即可供我使用?

  • 也有人说使用内置 应用程序设置...但我 听说这里 每用户设置,如果你升级的应用程序(一个 明显的问题)消失。

  • 我也考虑过只是将其存储在 上某处盘... 一个.xml文件,但它的“正确”的地方 商店.xml文件的用户?

+0

使用系统注册表出了问题? – Landern 2011-03-22 18:29:34

+0

我宁愿不使用注册表...注册表只是在我看来是一个丑陋的解决方案,我可能被存储的数据的一个比较大的一块。 – 2011-03-22 18:30:50

回答

3
  • SQLite是不包含在.NET2,但你可以用你的应用程序
  • 内置的设置,系统工作正常进行简单的应用程序出货 - 你需要添加一对夫妇的样板线的处理版本发生了变化,但并不复杂。
  • 您可以在这里把你的xml文件:

    Environment.GetFolderPath( Environment.SpecialFolder.LocalApplicationData)

有很多的 '这取决于' 关于你的问题,因为你不并不是说你需要存储多少类型的数据,也不知道你有什么其他理由去关心它发生的地方。

+0

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)...这会在哪里结束?这是否与Windows 7和Windows Vista上的UAC兼容,其中很多程序数据位置在写入/修改文件时不受限制? – 2011-04-28 12:49:51

+0

@Josh g。在此Win7的框(不是一个域),这是在C:\用户\ \应用程序数据\地方。我想不出任何'数据'特殊文件夹这将是UAC的问题,但LocalApplicationData绝对不受限制,也不是CommonApplicationData – 2011-04-28 16:54:51

0

存储用户的应用程序设置为一个最佳实践。

http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage(v=vs.80).aspx

存储设置为XML文件是完全正常的。

+0

隔离存储器适用于SilveLight等。存储在自定义XML文件中不如使用设置。约定等 – 2011-03-22 18:51:10

+0

我清楚地记得,在为App Dev Foundations测试学习时,他们推荐使用独立存储 - 这是在Silverlight出现之前。 – 2011-03-23 16:24:09

+1

独立存储不仅适用于Silverlight。它广泛用于Silverlight,因为文件系统不可用,但隔离存储也是标准.NET应用程序的选项。 – 2011-04-28 12:51:11

相关问题