【问题标题】:Where should I save my serialized data file? [duplicate]我应该在哪里保存我的序列化数据文件? [复制]
【发布时间】:2013-08-22 12:42:56
【问题描述】:

对于点网程序,存储序列化数据的“正确”位置在哪里?

在 /user/username 文件夹中?程序文件/MyAppName/?别的地方?

【问题讨论】:

  • 如果不同的用户存储不同的数据,那么将其存储在他们的用户帐户中而不是程序文件中是有意义的。
  • 取决于数据代表什么,它的使用环境是什么,它有多大,它的使用频率等。提供更多关于你想要达到什么目的的信息以获得好的答案。跨度>
  • 我没有搜索应用程序设置,因为这更多的是关于应用程序数据,而不是设置。有时它可能是一个灰色区域。抱歉重复了。

标签: c# file serialization storage


【解决方案1】:

来自 Microsoft 的 Pat Altimore 的This blog post 建议了多个位置,具体取决于您尝试存储的数据类型。

.NET 提供了特殊的枚举值,您可以将其传递到System.Environment.GetFolderPath,以获得所需的“特殊”文件夹。

简而言之:

  • 如果是用户特定的数据,请使用SpecialFolder.ApplicationData
  • 如果是特定于机器的数据,请使用SpecialFolder.CommonApplicationData

对于特定于机器的数据,您可能还需要以管理员身份运行程序,否则您将无法对该位置进行写访问。

【讨论】:

    【解决方案2】:

    我会说这取决于您要存储的日期类型。如果是用户特定日期,那么我建议使用

    返回的路径

    Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);

    如果不是特定于用户的数据,也就是说,它是程序的所有用户共享的数据,那么将其存储在安装路径下的文件夹中可能更合适。

    【讨论】:

    • 我非常不同意你的结束语;不建议将特定于机器的数据存储在安装路径中。 Windows 为此类数据提供了“通用应用程序数据”位置。安装路径(即“Program Files”文件夹)旨在存储应用程序文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 2013-08-04
    • 2021-04-19
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多