我应该在哪里保存序列化数据文件?

时间:2013-08-20 12:48:06

标签: c# file serialization storage

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

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

2 个答案:

答案 0 :(得分:0)

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

返回的路径

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

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

答案 1 :(得分:0)

来自Microsoft的Pat Altimore的

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

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

简而言之:

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

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