我的LocalFolder中有几个经常使用的子文件夹。我可以保留它们每一个的static引用吗?或者我每次都需要调用ApplicationData.Current.LocalFolder.GetFolderAsync?使用返回的对象是线程安全的吗?(不一定是读写,而是文件查询)
发布于 2013-11-20 04:57:41
你当然可以,但你需要做一些改变。
看看FutureAccessList (http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.accesscache.storageapplicationpermissions.futureaccesslist.aspx)
获取一个对象,该对象表示应用程序维护的列表,以便应用程序可以存储文件和/或位置(如文件夹),并在未来轻松访问这些项目。
祝你好运!
发布于 2013-11-20 05:58:08
StorageFolder对象是对文件夹的抽象引用,您可以使用它来代替路径名。那么,在整个应用程序会话中保留这些对象是完全没有问题的。正如曾傑瑞在另一个答案中指出的那样,如果您需要在应用程序会话中保留这些对象,则可以使用AccessCache应用程序接口,因为这也将保留通过文件选择器授予的访问权限。但是,对于ApplicationData文件夹,这不是必需的,因为您对这些文件夹具有固有权限。
我相信这些对象也是线程安全的,因为它们来自WinRT。要知道,持有StorageFolder或StorageFile并不能保存任何打开的内容--只有当您打开一个文件并获得一个流时,该文件才处于打开状态,并且可能会拒绝对它的其他请求。
https://stackoverflow.com/questions/20081193
复制相似问题