在本地缓存文件的位置
Where to cache files locally
我们的 WPF 桌面应用程序在启动时从云中的服务器下载一些图像。
由于下载需要一些时间(最多一分钟)并且图像很少更改,我想将它们缓存到用户的磁盘中,这样它们就不会在后续启动时加载。
放在哪里比较合适?这些文件可能会存在很长时间(几年),但如果删除它们,启动只会重新下载它们。
我考虑过的选项是将它们放在 TEMP 文件夹(我从 Path.GetTempPath()
获得的路径)或 IsolatedStorage
中。我不知道哪个最好,或者是否有更好的选择。
如果我希望图片只能由登录用户按原样访问,我会选择 ApplicationData:
您可以这样访问:
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "AppName", "Images");
如果我希望这台机器上的所有用户都可以访问图片,我会选择 CommonApplicationData:
您可以这样访问:
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "AppName", "Images");
我们的 WPF 桌面应用程序在启动时从云中的服务器下载一些图像。 由于下载需要一些时间(最多一分钟)并且图像很少更改,我想将它们缓存到用户的磁盘中,这样它们就不会在后续启动时加载。
放在哪里比较合适?这些文件可能会存在很长时间(几年),但如果删除它们,启动只会重新下载它们。
我考虑过的选项是将它们放在 TEMP 文件夹(我从 Path.GetTempPath()
获得的路径)或 IsolatedStorage
中。我不知道哪个最好,或者是否有更好的选择。
如果我希望图片只能由登录用户按原样访问,我会选择 ApplicationData:
您可以这样访问:
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "AppName", "Images");
如果我希望这台机器上的所有用户都可以访问图片,我会选择 CommonApplicationData:
您可以这样访问:
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "AppName", "Images");