本地缓存文件的位置

时间:2019-12-04 16:14:58

标签: .net wpf isolatedstorage temp

我们的WPF桌面应用程序在启动时会从云中的服务器下载一些图像。 由于下载需要一些时间(最多一分钟),并且映像很少更改,因此我想将它们缓存到用户的磁盘上,以免在以后的启动中加载它们。

将它们放在哪里合适的位置?这些文件可能会保存很长一段时间(几年),但是如果删除了文件,则启动公司会再次下载它们。

我考虑过的选项是将它们放在TEMP文件夹(我从Path.GetTempPath()获得的路径)或IsolatedStorage中。我不知道哪种方法最好,或者是否有更好的选择。

1 个答案:

答案 0 :(得分:3)

如果我只希望登录的用户访问图片,我会选择ApplicationData:

  

The directory that serves as a common repository for application-specific data for the current roaming user.

您可以这样访问它:

Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "AppName", "Images");

如果我希望所有用户都可以通过这台机器访问图片,我将选择CommonApplicationData:

  

The directory that serves as a common repository for application-specific data that is used by all users.

您可以这样访问它:

Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "AppName", "Images");