繁体   English   中英

在Windows Store应用程序中,如果我定期从LocalFolder内部的文件夹中进行读取,是否可以保留静态引用?

[英]In a Windows Store app, if I am reading from a folder inside of my LocalFolder regularly, can I keep a static reference?

我经常使用的LocalFolder中有几个子文件夹。 我可以对它们每个进行static引用吗? 还是我每次都需要调用ApplicationData.Current.LocalFolder.GetFolderAsync 使用该对象是否返回线程安全? (不一定是读写,而是文件查询)

您可以,但是您需要稍作更改。

查看FutureAccessListhttp://msdn.microsoft.com/zh-cn/library/windows/apps/windows.storage.accesscache.storageapplicationpermissions.futureaccesslist.aspx

获取一个对象,该对象表示应用程序维护的列表,以便该应用程序可以存储文件和/或位置(如文件夹),并在将来轻松访问这些项目。

祝你好运!

StorageFolder对象是对文件夹的抽象引用,您可以使用它代替路径名。 然后,在整个应用会话中保留这些对象是完全好的。 正如Jerry在另一个答案中指出的那样,如果需要在应用程序会话之间保留这些对象,则可以使用AccessCache API,因为这还将保留通过文件选择器授予的访问权限。 但是,对于ApplicationData文件夹,这不是必需的,因为您对这些文件夹具有固有的权限。

我相信对象也是线程安全的,因为它们来自WinRT。 知道持有StorageFolder或StorageFile不会保持任何打开状态-这是在您打开文件并获取该文件已打开的流并且可能会拒绝对该文件的其他请求时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM