使用'ApplicationData'或'LocalApplicationData'存储所有用户共有的文件?

时间:2013-03-12 15:48:13

标签: c# .net .net-3.5

摘要:多个不同的用户将在特定计算机上使用我的应用程序。我希望应用程序将其数据存储在此计算机上的单个公共文件中,而不管哪个用户正在运行该应用程序。

为了实现我想要的目标,我想知道这个问题是否可能是相关的:Difference between 'SpecialFolder.LocalApplicationData' and 'SpecialFolder.ApplicationData'?

从这个问题及其答案中可以看出:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) 

特定于机器。我通过谷歌搜索发现的一些信息证实了这一点。但是,我还发现有LocalApplicationData 用户特定的信息。

那么,这是真的吗?任何人都可以告诉我“用户特定”和“机器特定”的真正含义吗?

以下是我的想法:如果LocalApplicationData是特定于机器的,那么我可以将其用作让我的应用程序将所有数据保存到所有用户的单个公共文件的基础。

我也想知道ApplicationData文件夹:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

我应该使用ApplicationData来获得我想要的东西吗?

1 个答案:

答案 0 :(得分:6)

ApplicationDataLocalApplicationData只能由当前登录的用户访问。这两者之间的区别在于ApplicationData被复制并同步到用户在企业环境中使用的其他设备。它将用于存储用户的偏好。

正如Raymond建议的那样(see docs),您将要使用其他文件夹。CommonDocuments将是所有用户之间共享文档的绝佳选择。{{1}如果你要存储音乐等等。

如果您想要存储特定于应用程序的文件,请使用 CommonMusic