C# WinRT:重复打开文件进行读取会引发UnauthorizedAccessException

C# WinRT:重复打开文件进行读取会引发UnauthorizedAccessException,c#,windows-runtime,C#,Windows Runtime,我在访问WinRT应用程序中缓存在磁盘上的文件时遇到了一个奇怪的问题。每当用户单击某个项目时,我首先检查磁盘上是否已经存在该项目,并在这种情况下下载该项目 现在,奇怪的是,如果再次调用此函数,则在调用ReadBufferAsync时会出现UnauthorizedAccessException。有人知道为什么吗 谢谢 丹尼尔 StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync(f

我在访问WinRT应用程序中缓存在磁盘上的文件时遇到了一个奇怪的问题。每当用户单击某个项目时,我首先检查磁盘上是否已经存在该项目,并在这种情况下下载该项目

现在,奇怪的是,如果再次调用此函数,则在调用ReadBufferAsync时会出现UnauthorizedAccessException。有人知道为什么吗

谢谢

丹尼尔

            StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync(filename);
            var buffer = await FileIO.ReadBufferAsync(file);
            var dataReader = DataReader.FromBuffer(buffer);
            retval.data = new byte[buffer.Length];
            dataReader.ReadBytes(retval.data);
            BasicProperties basicProperties = await file.GetBasicPropertiesAsync();
            retval.lastModifiedTime = basicProperties.DateModified.DateTime;
            dataReader.Dispose();

如何为下载文件的第一阶段设置权限?显示这方面的代码可能会有所帮助。您可能希望将dataReader放在using块中,而不是手动调用Dispekeith-我没有设置任何权限,只是使用standard。事实上,系统似乎在保持文件的开放性,而我似乎没有任何方法来指示它不要。米奇——除了更优雅之外,它会改变现状吗?