摘要:几个不同的用户将在特定的机器上使用我的应用程序。我希望应用程序将其数据存储在本机上的单个公共文件中,而不管哪个用户正在运行该应用程序。使用'ApplicationData'或'LocalApplicationData'存储所有用户共有的文件?
为了达到我想要的,我想知道这个问题是否可能是相关的:Difference between 'SpecialFolder.LocalApplicationData' and 'SpecialFolder.ApplicationData'?
从这个问题和它的答案似乎是:
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
特定到机器。我通过谷歌搜索发现的一些信息证实了这一点。但是,我也发现信息说,LocalApplicationData
是用户特定。
那么,这是真的吗?谁能告诉我什么是“用户特定”和“机器特定”的真正含义?
下面是我的想法:如果LocalApplicationData
是机器特定的,那么我可以使用它作为让我的应用程序将所有数据保存到所有用户的单个公用文件的基础。
我也想知道关于ApplicationData
文件夹:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
我应该改用ApplicationData
得到我想要的东西?
如有疑问[阅读文档(http://msdn.microsoft.com/en-us/library/system.environment.specialfolder。 aspx)。CommonApplicationData。 – 2013-03-12 15:51:56
@RaymondChen为什么不是这个答案,因为它是答案? – pixelbadger 2013-03-12 15:59:19
可能因为它不是答案,c:\ programdata不可写。 Windows的默认安装不提供所有用户都可以写入的文件夹。如果这很重要,那么你需要创建一个,并给每个人写访问权限。之后,你可能会发现,处理一个用户搞砸另一个用户的数据而没有备份可能是一件非常头疼的事情。这就是文件服务器存在的原因。 – 2013-03-12 17:29:56