【问题标题】:Where to store user data for a desktop application?在哪里存储桌面应用程序的用户数据?
【发布时间】:2016-05-24 12:14:51
【问题描述】:

我正在开发 C#.NET 桌面应用程序,我希望用户能够创建新的数据库文件。我是桌面应用程序的新手,我真的不知道在哪里存储这些文件的最佳位置。我想将它们存储在我的应用程序文件夹中,但我读到这不是最好的解决方案。我应该将它们存储在 C:// 中还是有其他一些最佳实践?

【问题讨论】:

标签: c# .net desktop-application file-management


【解决方案1】:

您可以使用 AppData\Local。它是存储应用程序数据的常用位置。

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

【讨论】:

  • 如果人们不清楚这一点...与此代码等效的普通 Windows 是在 Windows 文件资源管理器的地址栏中键入 %localappdata% 并按 Enter。看看你的结局。
【解决方案2】:

这个问题不容易回答。

  • 数据库很大吗?

可以在 ProgramData 中隐藏一个小数据库。对于可能 TB 大小的存储库来说,这几乎没有什么好处。

  • 用户是否知道存在数据库文件?

还是他从未见过的“隐藏功能”?

  • 数据库文件是否特定于应用程序?

双击会发生什么?

我应该将它们存储在 C:// 中还是有其他最佳做法?

有最佳实践。 C 从来都不是最佳实践,所以它不是“其他”。唯一对 Windows 的实际情况更无知的事情是将其存储在应用程序文件夹中 - 按照标​​准,该文件夹对用户来说是只读的。

有一个已知的文件夹集合和一些系统调用来找到它们的“真实”位置。

Environment.SpecialFolders 枚举有位置 - 我相信您可以浏览足够多的文档来找到其余的。

ApplicationData 或 CommonDocument 或类似的东西可能适用,但从用户的角度来看,它实际上取决于它的“性质”。

【讨论】:

    猜你喜欢
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2014-12-05
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多