C# 在Windows应用商店应用程序中,如果我定期阅读LocalFolder中的文件夹,是否可以保留静态引用?
在我的C# 在Windows应用商店应用程序中,如果我定期阅读LocalFolder中的文件夹,是否可以保留静态引用?,c#,windows-runtime,windows-store-apps,storage,winrt-xaml,C#,Windows Runtime,Windows Store Apps,Storage,Winrt Xaml,在我的LocalFolder中有几个我经常使用的子文件夹。我是否可以对它们中的每一个进行静态引用?还是每次都需要调用ApplicationData.Current.LocalFolder.GetFolderAsync?使用返回的对象是否线程安全?(不一定是读写,而是文件查询)你当然可以,但你需要稍微改变一下 查看FutureAccessList() 获取一个对象,该对象表示应用程序维护的列表,以便应用程序可以存储文件和/或位置(如文件夹)并在将来轻松访问这些项目 祝你好运 当然可以,但你需要稍微
LocalFolder
中有几个我经常使用的子文件夹。我是否可以对它们中的每一个进行静态引用?还是每次都需要调用ApplicationData.Current.LocalFolder.GetFolderAsync
?使用返回的对象是否线程安全?(不一定是读写,而是文件查询)你当然可以,但你需要稍微改变一下
查看FutureAccessList
()
获取一个对象,该对象表示应用程序维护的列表,以便应用程序可以存储文件和/或位置(如文件夹)并在将来轻松访问这些项目
祝你好运 当然可以,但你需要稍微改变一下
查看FutureAccessList
()
获取一个对象,该对象表示应用程序维护的列表,以便应用程序可以存储文件和/或位置(如文件夹)并在将来轻松访问这些项目
祝你好运 StorageFolder对象是对文件夹的抽象引用,您可以使用它来代替路径名。那么,在整个应用程序会话中保持这些对象是完全正确的。正如Jerry在另一个回答中指出的,如果需要在应用程序会话中保留这些对象,则可以使用AccessCache API,因为这也将保留通过文件选择器授予的访问权限。但是,对于ApplicationData文件夹,这不是必需的,因为您对这些文件夹具有固有的权限
我相信这些对象也是线程安全的,因为它们来自WinRT。要知道,保存StorageFolder或StorageFile并不能保存任何打开的内容——只有当您打开一个文件并获取一个流时,该文件才会打开,并且可能会拒绝对它的其他请求。StorageFolder对象是对文件夹的抽象引用,您可以使用它来代替路径名。那么,在整个应用程序会话中保持这些对象是完全正确的。正如Jerry在另一个回答中指出的,如果需要在应用程序会话中保留这些对象,则可以使用AccessCache API,因为这也将保留通过文件选择器授予的访问权限。但是,对于ApplicationData文件夹,这不是必需的,因为您对这些文件夹具有固有的权限
我相信这些对象也是线程安全的,因为它们来自WinRT。要知道,保存一个StorageFolder或StorageFile并不能保存任何打开的内容——只有当您打开一个文件并获得一个流时,该文件才是打开的,并且可能会拒绝对它的其他请求